Internet Draft                                              Mark Bakke
<draft-ietf-ips-iscsi-mib-00.txt>
<draft-ietf-ips-iscsi-mib-01.txt>                           Jim Muchow
Expires October December 2001                                    Cisco Systems

                                                      Marjorie Krueger
                                                       Hewlett-Packard

                                                            April

                                                         Tom McSweeney
                                                                   IBM

                                                             June 2001

                Definitions of Managed Objects for iSCSI

1.  Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

1.1.  Copyright Notice

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

2.  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
   iSCSI (SCSI over TCP) protocol.  It is meant to match the latest
   version of iSCSI defined in [ISCSI].

3.  Acknowledgments

   In addition to the authors, several people contributed to the
   development of this MIB.  Thanks especially to those who took the
   time to participate in our weekly conference calls to build our
   requirements, object models, table structures, and attributes: John
   Hufferd, Tom McSweeney (IBM), Kevin Gibbons (Nishan Systems), Chad
   Gregory (Intel), Jack Harwood (EMC), Hari Mudaliar (Adaptec), Ie Wei
   Njoo (Agilent), Lawrence Lamers (SAN Valley), Satish Mali (Stonefly
   Networks), and William Terrell (Troika).

   Special thanks to Tom McSweeney, Ie Wei Njoo, and Kevin Gibbons, who
   wrote the descriptions for many of the tables and attributes in this
   MIB.

4.  The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

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

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

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

    o   Protocol operations for accessing management information.  The
        first set of protocol operations and associated PDU formats is
        described in STD 15, RFC 1157 [RFC1157].  A second set of
        protocol operations and associated PDU formats is described in
        RFC 1905 [RFC1905].

    o   A set of fundamental applications described in RFC 2573
        [RFC2573] and the view-based access control mechanism described
        in RFC 2575 [RFC2575].

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

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

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

5.  Discussion

   This MIB structure is intended to satisfy fault, configuration, performance, and
   performance
   security management for an iSCSI implementation.  It is structured
   around the well-known iSCSI objects, such as targets, initiators,
   sessions, connections, and the like.

   It is worthwhile to note that this is an iSCSI MIB and and such
   reflects only iSCSI objects (real or virtual). This means that this
   MIB will not directly deal with real SCSI objects or the SCSI
   protocol in general. This should be dealt with in a SCSI MIB if such
   a beast exists.  The iSCSI tables that would likely have parallel
   objects in a SCSI MIB contain a RowPointer, which can be used to
   point to the corresponding object in a standard or proprietary SCSI
   MIB, should one exist.
   MIB.

   The iSCSI MIB consists of seven eight objects, each of which is represented
   by several different tables.  This section contains a brief
   description of the "object" hierarchy and a description of each
   object, followed by a discussion of the actual SNMP table structure
   within the objects.

5.1.  Overall MIB structure

   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.
      -- Most implementations will have just one of these.
      iscsiListenPort
      -- No stats are included at the instance level.
      iscsiTargetPortal
         -- An IP Address and TCP Port pair on which this instance is
         -- listening for connections to its targets.
         -- No statistics are included at this level.
      iscsiInitiatorPortal
         -- An IP Address from which this instance can make connections
         -- to other targets.
         -- No statistics are included at this level.
      iscsiSession
         -- An active iSCSI session between an initiator and a target.
         -- A session may be Inbound (outside initiator to our target)
         -- or Outbound (our initiator to an outside target).
         -- Statistics at this level are performance-related.
         iscsiConnection
            -- An active TCP connection within an iSCSI session
            -- No statistics appear here.
      iscsiTarget
         -- An iSCSI target to which this iSCSI instance is providing
         -- access.
         -- Statistics relating to security and faults are included.
         iscsiAccessList
            -- A list of initiators that are allowed access to this
            -- target.
            -- No statistics are included here.
      iscsiInitiator
         -- An iSCSI initiator, used by this iSCSI instance to access
         -- iSCSI targets.
         -- Statistics relating to security and faults are included.

   An Instance can contain Initiators, Targets, or both.  Multiple
   ListenPorts
   InitiatorPortals and TargetPortals may be present; the MIB assumes
   that any Target may be accessed via any ListenPort, TargetPortal, although other
   access controls not reflected in the MIB might limit this.

   Logical Units and LUNs are SCSI-level entities, which will be covered
   in a separate SCSI MIB.

5.2.  MIB "object" structure

   Each iSCSI "object" is comprised of several tables, which will make
   it easier to navigate the iSCSI MIB from a graphical browser, and to
   update the iSCSI MIB in the future.

   Placing all of the indices, attributes, and statistics for each
   object in the same table would make the addition of new statistics
   and attributes appear messy.  Since iSCSI is an evolving standard, it
   is worth having a few extra tables to make this easier.  To this end,
   the attributes and statistics have been placed in separate tables,
   which augment the main indexed table for each object.  Since there
   are several categories of statistics that will likely grow, most of
   the objects contain several multiple statistics tables.

   The following structure is used for all objects.  Please do not be
   frightened; each of the objects includes only a few of these tables,
   as appropriate.  Just replace the "*" in the following names with the
   iSCSI object name in which you are interested.  For instance, example, the
   Target object would be iscsiTargetInfo.

   iscsi*Info
      -- The main structure holding objects of a given type
      iscsi*Objects
         -- sub-iscsi*Info structures go here
         -- Example:  iscsiTargetInfo belongs under iscsiInstanceObjects
         -- and iscsiConnnectionInfo belongs under iscsiSessionObjects
      iscsi*Scalars
         -- iscsi*Info scalars go here
      iscsi*AttributesTable
         iscsi*AttributesEntry
            -- iscsi*Table index attributes
            -- iscsi*Entry non-statistical attributes
      iscsi*StatsTable
         iscsi*StatsEntry
            -- Augments iscsiAttributes*Entry
            -- iscsi*Entry generic statistical attributes
            -- Contains performance-related counters
            -- Examples: Total requests, responses, data bytes
      iscsi*CxnErrorStatsTable
         iscsi*CxnErrorStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Connection error statistics
            -- Appropriate for Initiator, Target, Used within Session, ListenPort but should move to Initiator & Target
            -- Examples:  Digest, framing, and connection timeout errors
      iscsi*TxCmdStatsTable
         iscsi*TxCmdStatsEntry
      iscsi*LoginStatsTable
         iscsi*LoginStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number Numbers of each type successful and different types of iSCSI request PDU transmitted
            -- Appropriate for Initiator, Session
            -- Examples:  TxScsiCmdPDUs, TxLoginCmdPDUs
      iscsi*RxCmdStatsTable
         iscsi*RxCmdStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI request PDU received unsuccessful logins
            -- Appropriate for Used by Target, Session
            -- Examples:  RxScsiCmdPDUs, RxLoginCmdPDUs
      iscsi*TxRspStatsTable
         iscsi*TxRspStatsEntry Initiator
      iscsi*LogoutStatsTable
         iscsi*TxLogoutStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type Numbers of iSCSI response PDU transmitted normal and abnormal logouts
            -- Appropriate for Used by Target, Session
            -- Examples:  TxScsiRspPDUs, TxLoginRspPDUs
      iscsi*RxRspStatsTable
         iscsi*RxRspStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI response PDU received
            -- Appropriate for Initiator, Session
            -- Examples:  RxScsiRspPDUs, RxLoginRspPDUs
      iscsi*TxStatusStatsTable
         iscsi*TxStatusStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI login status code transmitted
            -- Appropriate Initiator

   Note that this MIB does not attempt to count everything that could be
   counted; it is designed to include only those counters that would be
   useful for Target, Session, ListenPort
            -- Examples:  TxStsAccepts, TxStsForbiddens
      iscsi*RxStatusStatsTable
         iscsi*RxStatusStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type identifying performance, security, and fault problems from
   a management station.

5.3.  iscsiInstanceInfo

   iscsiInstanceInfo is the primary table of the iSCSI login status code received
            -- Appropriate for Initiator, Session, ListenPort
            -- Examples:  RxStsAccepts, RxStsForbiddens
      iscsi*TxRejectStatsTable
         iscsi*TxRejectStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI reject code transmitted
            -- Appropriate for Target, Session
            -- Examples:  TxRjtFormats, TxRjtDataSacks
      iscsi*RxRejectStatsTable
         iscsi*RxRejectStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI reject code received
            -- Appropriate for Initiator, Session
            -- Examples:  RxRjtFormats, RxRjtDataSacks
      iscsi*TxLogoutStatsTable
         iscsi*TxLogoutStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI logout reason transmitted
            -- Appropriate for Initiator, Session
            -- Examples:  TxLgtSessionCloses, TxLgtCxnRecoveries
      iscsi*RxLogoutStatsTable
         iscsi*RxLogoutStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI logout reason received
            -- Appropriate for Target, Session
            -- Examples:  RxLgtSessionCloses, RxLgtCxnRecoveries
      iscsi*TxAsyncStatsTable
         iscsi*TxAsyncStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI async message transmitted
            -- Appropriate for Target, Session
            -- Examples:  TxAsyTargetResets, TxAsyLogoutRequests
      iscsi*RxAsyncStatsTable
         iscsi*RxAsyncStatsEntry
            -- Augments iscsiAttributes*Entry
            -- Number of each type of iSCSI async message received
            -- Appropriate for Initiator, Session
            -- Examples:  RxAsyTargetResets, RxAsyLogoutRequests
   Not all of the StatsTables appear in each of the objects.  For
   example, TxCmdStats (commands transmitted) is not appropriate for a
   target table.  Other statistics tables may be added as needed.

5.3.  iscsiInstanceInfo

   iscsiInstanceInfo is the primary table of the iSCSI MIB from which
   all other tables are derived.  It contains the
   iscsiInstanceAttributesTable which lists all the known MIB from which
   all other tables are derived.  It contains the
   iscsiInstanceAttributesTable which lists all the known iSCSI
   instances accessible by the agent.

   One could envision that there might be just one instance (or row in
   this table); however, it exists as a table to allow for multiple
   virtual instances.  For example, many IP routing products now allow
   multiple virtual routers.  The iSCSI MIB has the same premise.

   Also, it is possible that for larger systems, a single SNMP agent may
   control and monitor multiple subsystems, each of which have one or
   even more instances.

   A scalar predecessor of the table called the iscsiInstanceNumber
   denotes the number of instances or rows in the
   iscsiInstanceAttributesTable. Each row also contains similar "Number"
   or instance counts for the various rows of the sub-tables that are
   derived from this table. The term "endpoint" has been used to denote
   either a target or initiator instance.

   Several statistics tables augment the iscsiInstanceAttributesTable.

   iscsiInstanceInfo also contains iscsiInstanceObjects, from which all
   of the other tables are derived.

5.4.  iscsiListenPortInfo

   iscsiListenPortInfo  iscsiTargetPortalInfo

   iscsiTargetPortalInfo is contained within iscsiInstanceObjects, and
   contains the iscsiListenPortAttributesTable. iscsiTargetPortalAttributesTable.

   The iscsiListenPortAttributesTable iscsiTargetPortalAttributesTable lists local sockets on which the
   iSCSI instance is listening for incoming connections. connections to its targets.
   This table contains the local IP address, TCP (or other protocol)
   port, and IP protocol (for now, just TCP) on which the socket is
   listening.

   Statistics tables augmenting  It also includes an aggregation tag; iSCSI target ports
   within this instance sharing the iscsiListenPortAttributesTable same tag can contain counts of each type of login status code sent, as well as
   connection and digest errors detected. connections
   within the same session.

   This table will usually be empty for iSCSI instances that contain
   only initiators (such as iSCSI host driver implementations).

5.5.  iscsiInitiatorPortalInfo

   iscsiInitiatorPortalInfo is contained within iscsiInstanceObjects,
   and contains the iscsiInitiatorPortalAttributesTable.

   The iscsiInitiatorPortalAttributesTable lists the IP addresses from
   which the iSCSI instance may initiate connections to other targets.
   Each entry in this table contains a local IP address and IP protocol
   (for now, just TCP).

   This table will usually be empty for iSCSI instances that contain
   only targets (such as most iSCSI devices).

5.6.  iscsiSessionInfo

   iscsiSessionInfo is contained within iscsiInstanceObjects, and
   contains the iscsiSessionAttributesTable.

   The iscsiSessionAttributesTable contains a set of rows that list the
   sessions known to be existing locally for each iSCSI instance.

   The session type for each session indicates whether it is an Inbound
   Session or an Outbound Session.  Inbound sessions are from some other
   initiator to a target within this iSCSI instance; Outbound sessions
   are from our initiator to a target outside this iSCSI instance.

   An inbound session may be correlated with its local target using the
   TargetName attribute of the session; the InitiatorName indicates the
   "other end", in some other entity.

   Similarly, an outbound session may be associated with its local
   initiator using the InitiatorName; in this case, the TargetName
   indicates the other end.

   Many attributes may be negotiated when starting an iSCSI session.
   These
   Most of these attributes are included in the session object.

   Some attributes, such as the integrity and authentication schemes,
   have some standard values which can be extended by vendors to include
   their own schemes.  Enumerated  Rather than using enumerated types have been provided for each of
   these; if these, a type is "Other", a corresponding
   UTF8String attribute is used to indicate the name of the scheme in
   use.

   The iscsi iSCSI session includes many statistics tables, due related to performance;
   counting iSCSI data bytes and PDUs.  As most errors would result in
   the fact
   that a session can go either direction.  Its statistics are basically
   a superset termination of those offered by the Target an iSCSI session, error counters are kept for
   targets and Initiator objects. initiators, rather than sessions.

   iscsiSessionInfo also contains iscsiSessionObjects, from which the
   Connection table is derived.

5.6.

5.7.  iscsiConnectionInfo

   iscsiConnectionInfo is contained within iscsiSessionObjects, and
   contains the iscsiConnectionAttributesTable.

   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 side of
   the connection.  These may be used to locate other connection-related
   information and statistics in the TCP MIB [RFC 2012].

   No statistics are currently kept for each connection.

5.7.

5.8.  iscsiTargetInfo

   iscsiTargetInfo is contained within iscsiInstanceObjects, and
   contains the iscsiTargetAttributesTable.

   The iscsiTargetAttributesTable contains a list of iSCSI targets which
   may be accessed through the iSCSI instance.  This table contains the
   target's iSCSI Name, alias string, and some attributes used to
   indicate the number of LUs. last failure that was (or should have been) sent as a
   notification or trap.  Also included is a RowPointer which can be
   used to locate the associated SCSI target object, should a SCSI MIB
   be created.

   Statistics tables augmenting iscsiTargetAttributesTable are provided.

   iscsiTargetInfo also contains iscsiTargetObjects, from which the
   AccessList tables are derived.

5.8.

5.9.  iscsiAccessListInfo

   iscsiAccessListInfo is contained within iscsiTargetObjects, and
   contains the iscsiAccessListAttributesTable.

   The iscsiAccessListAttributesTable contains an entry for each
   initiator that is allowed to access the target under which it
   appears.  If a target allows access to any initiator, an
   AccessListAttributesEntry with the initiator's iSCSI name should be
   used.

   This table does not cover all possible access control schemes that a
   vendor could implement.  If access to an initiator cannot be
   determined just by its iSCSI name, an implementation may use the
   canonical name "iscsi", or may choose to place no entries in this
   table.

   No statistics are provided for access list entries.

5.9.

5.10.  iscsiInitiatorInfo

   iscsiInitiatorInfo is contained within iscsiInstanceObjects, and
   contains the iscsiInitiatorAttributesTable.

   The iscsiInitiatorAttributesTable contains a list of iSCSI initiators
   which are used by this iSCSI instance to access targets.  Most
   implementations will include a single entry in this table, regardless
   of the number of physical interfaces the initiator may use.  This
   table's attributes include the initiator's iSCSI name and alias
   string.

   Statistics tables augmenting iscsiInitiatorAttributesTable are
   provided.

5.11.  IP Addresses and TCP Port Numbers

   The IP addresses in this MIB are represented by two attributes, one
   of type InetAddressType, and the other of type InetAddress.  These
   are taken from [IPV6MIB], which is an update to [RFC2851] specifying
   how to support addresses that may be either IPv4 or IPv6.

   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 MIB to be compatible with iSCSI over transports other than
   TCP in the future.

5.12.  Notifications

   Two notifications are provided.  One is sent by an initiator
   detecting a critical login failure; the other is sent by a target
   detecting a critical login 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
   and target 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.

6.  MIB Definitions

ISCSI-MIB DEFINITIONS  ::= BEGIN

    IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Unsigned32,
    IpAddress, Counter32, Counter64,
    experimental
    FROM SNMPv2-SMI

    TEXTUAL-CONVENTION, TruthValue, RowPointer
--    TEXTUAL-CONVENTION, DisplayString, TruthValue, RowPointer VariablePointer, TimeStamp
    FROM SNMPv2-TC

    MODULE-COMPLIANCE, OBJECT-GROUP
    -- MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
    FROM SNMPv2-CONF

--  These are from draft-ietf-ops-rfc2851-update-00.txt
--  You will have to work out the details with your own
--  compiler being because they are so new.
    InetAddressType, InetAddress
    FROM INET-ADDRESS-MIB
    ;

-- TBD
-- 1) add some more DESCRIPTIONs
-- 2) look into need for config tables
-- 3) traps/notifications? a For-Real number to attach to

iscsiModule MODULE-IDENTITY
    LAST-UPDATED                    "0104020000Z" -- April 2, 2001
    ORGANIZATION                    "Cisco Systems, Inc"
    CONTACT-INFO
    "
    Mark Bakke
    Postal: Cisco Systems, Inc
    6450 Wedgwood Road, Suite 130
    Maple Grove, MN
    USA 55311

    Tel: +1 763-398-1000
    Fax: +1 763-398-1001

    E-mail: mbakke@cisco.com

    Marjorie Krueger
    Postal: Hewlett-Packard
    Networked Storage Architecture
    Networked Storage Solutions Org.

    8000 Foothills Blvd.
    Roseville, CA 95747

    Tel: +1 916-785-2656
    Tel: +1 916-785-0391

    Email: marjorie_krueger@hp.com

    Jim Muchow
    Postal: Cisco Systems, Inc
    6450 Wedgwood Road, Suite 130
    Maple Grove, MN
    USA 55311

    Tel: +1 763-398-1000
    Fax: +1 763-398-1001

    E-mail: jmuchow@cisco.com"

    DESCRIPTION
        "."

    REVISION "0104020000Z" -- April 2, 2001
    DESCRIPTION
        "Various changes, additions, deletions:
        1) Extensive re-organization of Comformance area.
        2) Removal of Lu & Lun groups
        3) Addition of lots of DESCRIPTIONS... but
        still not enough."

    REVISION "0102280000Z" -- February 28, 2001
    DESCRIPTION
        "Complete re-write, with the assistance of various
        persons in the iSCSI MIB working group."

    REVISION "0007280000Z"   -- July 28, 2000
    DESCRIPTION
        "Update to re-arrange the tables so that
        the initiator table is now an expansion table
        for the base iSCSI table.
        Added a couple of additional variables, the
        targetLunNumber in the target table and the
        lunSerialNumber in the lun table.
        Also a better definition of the OBJECT-GROUPs. "

::= { experimental 1 }

--
-- We need to get an experimental number for this MIB.
--

iscsiObjects OBJECT IDENTIFIER ::= { iscsiModule 1 }

iscsiNotifications OBJECT IDENTIFIER ::= { iscsiModule 2 }
iscsiConformance OBJECT IDENTIFIER ::= { iscsiModule 3 }

-- Textual Conventions

Utf8String ::= TEXTUAL-CONVENTION
    DISPLAY-HINT                   "255t"
    STATUS                         current
    DESCRIPTION
        "Represents textual information taken from the UTF-8
        character set.
        Any object defined using this syntax may not exceed 255
        characters in length."
    SYNTAX                         OCTET STRING (SIZE (0..255))

-- OK, the various preliminaries are out of the way...

-- There is a single object from which all others are based
iscsiInstanceInfo OBJECT IDENTIFIER ::= { iscsiObjects 1 }

iscsiInstanceObjects OBJECT IDENTIFIER ::= { iscsiInstanceInfo 1 }
iscsiInstanceScalars OBJECT IDENTIFIER ::= { iscsiInstanceInfo 2 }

iscsiInstanceNumber OBJECT-TYPE
    SYNTAX                         Unsigned32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The number of iSCSI instances monitored and/or managed
        by a single agent."
::= { iscsiInstanceScalars 1 }

iscsiInstanceAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInstanceAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of iSCSI instances present on the system."
::= { iscsiInstanceInfo 3 }

iscsiInstanceAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiInstanceAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing managment information applicable
        to a particular iSCSI instance."
    INDEX { iscsiInstIndex }

::= { iscsiInstanceAttributesTable 1 }

IscsiInstanceAttributesEntry ::= SEQUENCE {
    iscsiInstIndex                 Unsigned32,
    iscsiInstName                  Utf8String,
    iscsiInstVersionMin            INTEGER,
    iscsiInstVersionMax            INTEGER,
    iscsiInstVendorID              Utf8String,
    iscsiInstVendorVersion         Utf8String,
    iscsiInstListenPortNumber
    iscsiInstTargetPortalNumber    Unsigned32,
    iscsiInstInitiatorPortalNumber Unsigned32,
    iscsiInstSessionNumber         Unsigned32,
    iscsiInstTargetNumber          Unsigned32,
    iscsiInstInitiatorNumber       Unsigned32,
    iscsiInstNameServiceIpAddr     IpAddress,
    iscsiInstNameServiceAddrType   InetAddressType,
    iscsiInstNameServiceAddr       InetAddress,
    iscsiInstNameServicePort       Unsigned32,
    iscsiInstNameServiceType       Utf8String
}

iscsiInstIndex OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An arbitrary integer used to uniquely identify a particular
        ISCSI instance."
::= { iscsiInstanceAttributesEntry 1 }

iscsiInstName OBJECT-TYPE
    SYNTAX                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "A UTF-8 string, determined by the implementation to name the
        iSCSI instance.  As most implementations only use a single
        instance, this may be left blank.  Implementations that
        support multiple iSCSI instances may use this string in
        whatever manner they choose to describe the purpose of the
        instance to a user."
::= { iscsiInstanceAttributesEntry 2 }

iscsiInstVersionMin OBJECT-TYPE
    SYNTAX                         INTEGER (0..255)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "Minimum version number of the iSCSI specification supported
        by this instance."
::= { iscsiInstanceAttributesEntry 3 }

iscsiInstVersionMax OBJECT-TYPE
    SYNTAX                         INTEGER (0..255)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "Maximum version number of the iSCSI specification supported
        by this instance."
::= { iscsiInstanceAttributesEntry 4 }

iscsiInstVendorID OBJECT-TYPE
    SYNTAX                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "A text string describing the manufacturer of this instance."
::= { iscsiInstanceAttributesEntry 5 }

iscsiInstVendorVersion OBJECT-TYPE
    SYNTAX                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "A text string set by the manufacturer describing the verison
        of this instance.  The format of this string is determined
        solely by the manufacturer, and is for informational purposes
        only.  It is unrelated to the iSCSI specification version
        numbers."
::= { iscsiInstanceAttributesEntry 6 }

iscsiInstListenPortNumber

iscsiInstTargetPortalNumber OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The number of listen TCP (or other transport) ports currently associated with on which this
        iSCSI
    instance." instance is listening for connections to its targets."
::= { iscsiInstanceAttributesEntry 7 }

iscsiInstInitiatorPortalNumber OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The number of TCP (or other transport) ports on which this
        iSCSI instance may initiate connections to targets."

::= { iscsiInstanceAttributesEntry 8 }

iscsiInstSessionNumber OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The number of sessions currently associated with this iSCSI
        instance."
::= { iscsiInstanceAttributesEntry 8 9 }

iscsiInstTargetNumber OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The number of targets currently associated with this iSCSI
        instance."
::= { iscsiInstanceAttributesEntry 9 10 }

iscsiInstInitiatorNumber OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The number of initiators currently associated with this iSCSI
        instance."
::= { iscsiInstanceAttributesEntry 10 11 }

iscsiInstNameServiceAddrType OBJECT-TYPE
    SYNTAX                         InetAddressType
    MAX-ACCESS                     read-write
    STATUS                         current
    DESCRIPTION
        "The type of Inet address in the next object."
::= { iscsiInstanceAttributesEntry 12 }

iscsiInstNameServiceIpAddr

iscsiInstNameServiceAddr OBJECT-TYPE
    SYNTAX                         IpAddress                           InetAddress
    MAX-ACCESS                     read-write
    STATUS                         current
    DESCRIPTION
        "The Ip Inet Address of the name service being used, if there is one."
::= { iscsiInstanceAttributesEntry 11 13 }

iscsiInstNameServicePort OBJECT-TYPE
    SYNTAX                         Unsigned32 (0..65535)
    MAX-ACCESS                     read-write
    STATUS                         current
    DESCRIPTION
        "The port of the name service being used, if there is one."
::= { iscsiInstanceAttributesEntry 12 14 }

iscsiInstNameServiceType OBJECT-TYPE
    SYNTAX                         Utf8String
    MAX-ACCESS                     read-write
    STATUS                         current
    DESCRIPTION
        "The type of name service being used, if there is one.  The
        type string should represent a valid name service that conforms
        to the iSCSI name service conventions."
::= { iscsiInstanceAttributesEntry 13 15 }

----------------------------------------------------------------------

iscsiTargetPortalInfo OBJECT IDENTIFIER ::= { iscsiInstanceObjects 1 }

iscsiTargetPortalObjects OBJECT IDENTIFIER ::= { iscsiTargetPortalInfo 1 }
iscsiTargetPortalScalars OBJECT IDENTIFIER ::= { iscsiTargetPortalInfo 2 }

iscsiInstanceStatsTable

iscsiTargetPortalAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInstanceStatsEntry IscsiTargetPortalAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of sockets (using TCP or another transport protocol)
        on which this iSCSI command/response PDU and octet data transfer counters instance listens for each of the ISCSI instances present on the system." incoming connections
        to its targets."
::= { iscsiInstanceInfo 4 iscsiTargetPortalInfo 3 }

iscsiInstanceStatsEntry

iscsiTargetPortalAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiInstanceStatsEntry                         IscsiTargetPortalAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing iSCSI command/response PDU and octet data
         transfer counters for managment information applicable
        to a particular ISCSI target portal instance."
    AUGMENTS
    INDEX { iscsiInstanceAttributesEntry iscsiInstIndex, iscsiTgtPortalIndex  }
::= { iscsiInstanceStatsTable iscsiTargetPortalAttributesTable 1 }

IscsiInstanceStatsEntry

IscsiTargetPortalAttributesEntry ::= SEQUENCE {
    iscsiInstTxCmdPdus             Counter32,
    iscsiInstTxRspPdus             Counter32,
    iscsiInstRxRspPdus             Counter32,
    iscsiInstRxCmdPdus             Counter32,
    iscsiInstTxDataOctets          Counter64,
    iscsiInstRxDataOctets          Counter64
    iscsiTgtPortalIndex            Unsigned32,
    iscsiTgtPortalProtocol         INTEGER,
    iscsiTgtPortalAddrType         InetAddressType,
    iscsiTgtPortalAddr             InetAddress,
    iscsiTgtPortalPort             Unsigned32

}

iscsiInstTxCmdPdus

iscsiTgtPortalIndex OBJECT-TYPE
    SYNTAX                       Counter32                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
     "The count of Command PDUs that were transmitted by this ISCSI instance."
        "An arbitrary integer used to uniquely identify a particular
        port (aka socket) instance within an iSCSI instance present
        on the node."
::= { iscsiInstanceStatsEntry iscsiTargetPortalAttributesEntry 1 }

iscsiInstTxRspPdus

iscsiTgtPortalProtocol OBJECT-TYPE
    SYNTAX                       Counter32                         INTEGER (1..255)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Response PDUs that were transmitted by this ISCSI instance." portal's transport protocol."
    DEFVAL                         { 6 } -- TCP
::= { iscsiInstanceStatsEntry iscsiTargetPortalAttributesEntry 2 }

iscsiInstRxRspPdus

iscsiTgtPortalAddrType OBJECT-TYPE
    SYNTAX                       Counter32                         InetAddressType
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count type of Response PDUs that were received by this ISCSI instance." Inet address in the next object."
::= { iscsiInstanceStatsEntry iscsiTargetPortalAttributesEntry 3 }

iscsiInstRxCmdPdus

iscsiTgtPortalAddr OBJECT-TYPE
    SYNTAX                       Counter32                         InetAddress
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Command PDUs that were received by this ISCSI instance." portal's Inet address."
::= { iscsiInstanceStatsEntry iscsiTargetPortalAttributesEntry 4 }

iscsiInstTxDataOctets

iscsiTgtPortalPort OBJECT-TYPE
    SYNTAX                       Counter64                         Unsigned32 (1..65535)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of data octets that were transmitted by this ISCSI instance." portal's port number."
::= { iscsiInstanceStatsEntry iscsiTargetPortalAttributesEntry 5 }

iscsiInstRxDataOctets OBJECT-TYPE
    SYNTAX                       Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of data octets that were received by this ISCSI instance."

----------------------------------------------------------------------

iscsiInitiatorPortalInfo OBJECT IDENTIFIER ::= { iscsiInstanceStatsEntry 6 iscsiInstanceObjects 2 }

iscsiInitiatorPortalObjects OBJECT IDENTIFIER ::= { iscsiInitiatorPortalInfo 1 }
iscsiInitiatorPortalScalars OBJECT IDENTIFIER ::= { iscsiInitiatorPortalInfo 2 }

iscsiInstanceCxnErrorStatsTable

iscsiInitiatorPortalAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInstanceCxnErrorStatsEntry IscsiInitiatorPortalAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of PDU Inet addresses (using TCP or timeout connection error counters for
     each of the iSCSI instances present on another
        transport protocol) from which this system." iSCSI instance
        may initiate connections to other targets."
::= { iscsiInstanceInfo 5 iscsiInitiatorPortalInfo 3 }

iscsiInstanceCxnErrorStatsEntry

iscsiInitiatorPortalAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiInstanceCxnErrorStatsEntry                         IscsiInitiatorPortalAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing PDU or time-out connection error
     counters for managment information applicable
        to a particular ISCSI initiator portal instance."
    AUGMENTS
    INDEX { iscsiInstanceAttributesEntry iscsiInstIndex, iscsiIntrPortalIndex  }
::= { iscsiInstanceCxnErrorStatsTable iscsiInitiatorPortalAttributesTable 1 }

IscsiInstanceCxnErrorStatsEntry

IscsiInitiatorPortalAttributesEntry ::= SEQUENCE {
    iscsiInstHdrDigestErrors       Counter32,
    iscsiInstDataDigestErrors      Counter32,
    iscsiInstCxnTimeoutErrors      Counter32,
    iscsiInstFormatErrors          Counter32
    iscsiIntrPortalIndex           Unsigned32,
    iscsiIntrPortalProtocol        INTEGER,
    iscsiIntrPortalAddrType        InetAddressType,
    iscsiIntrPortalAddr            InetAddress
}

iscsiInstHdrDigestErrors

iscsiIntrPortalIndex OBJECT-TYPE
    SYNTAX                  Counter32                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the ISCSI
        "An arbitrary integer used to uniquely identify a particular
        initiator portal instance received which
     contained header digest errors." within an iSCSI instance present
        on the node."
::= { iscsiInstanceCxnErrorStatsEntry iscsiInitiatorPortalAttributesEntry 1 }

iscsiInstDataDigestErrors

iscsiIntrPortalProtocol OBJECT-TYPE
    SYNTAX                  Counter32                         INTEGER (1..255)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of PDUs which the ISCSI instance received which
     contained data digest errors." portal's transport protocol."
    DEFVAL                         { 6 } -- TCP
::= { iscsiInstanceCxnErrorStatsEntry iscsiInitiatorPortalAttributesEntry 2 }

iscsiInstCxnTimeoutErrors

iscsiIntrPortalAddrType OBJECT-TYPE
    SYNTAX                  Counter32                         InetAddressType
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "A initiator may set a time limit for completion
        "The type of a SCSI command
     sequence.  This is Inet address in the count of sequences which exceeded their
     time limit." next object."
::= { iscsiInstanceCxnErrorStatsEntry iscsiInitiatorPortalAttributesEntry 3 }

iscsiInstFormatErrors

iscsiIntrPortalAddr OBJECT-TYPE
    SYNTAX                  Counter32                         InetAddress
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "The count of PDUs which the ISCSI instance received which
     contained a format error." portal's Inet address."
::= { iscsiInstanceCxnErrorStatsEntry iscsiInitiatorPortalAttributesEntry 4 }

----------------------------------------------------------------------

iscsiListenPortInfo

iscsiSessionInfo OBJECT IDENTIFIER ::= { iscsiInstanceObjects 1 3 }

iscsiListenPortObjects

iscsiSessionObjects OBJECT IDENTIFIER ::= { iscsiListenPortInfo iscsiSessionInfo 1 }
iscsiListenPortScalars
iscsiSessionScalars OBJECT IDENTIFIER ::= { iscsiListenPortInfo iscsiSessionInfo 2 }

iscsiListenPortAttributesTable

iscsiSessionAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiListenPortAttributesEntry IscsiSessionAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of sockets (in the TCP RFC sense) Sessions belonging to each iSCSI instance
        present on the system."
::= { iscsiListenPortInfo iscsiSessionInfo 3 }

iscsiListenPortAttributesEntry

iscsiSessionAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiListenPortAttributesEntry                         IscsiSessionAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing managment information applicable
        to a particular socket Session instance."
    INDEX { iscsiInstIndex, iscsiLPIndex iscsiSsnIndex }
::= { iscsiListenPortAttributesTable iscsiSessionAttributesTable 1 }

IscsiListenPortAttributesEntry

IscsiSessionAttributesEntry ::= SEQUENCE {
    iscsiLPIndex
    iscsiSsnIndex                  Unsigned32,
    iscsiLPProtocol
    iscsiSsnType                   INTEGER,
    iscsiLPIpAddress               IpAddress,
    iscsiLPTcpPort                 Unsigned32
    iscsiSsnTargetName             Utf8String,
    iscsiSsnInitiatorName          Utf8String,
    iscsiSsnUseR2t                 TruthValue,
    iscsiSsnBidirectionalUseR2t    TruthValue,
    iscsiSsnImmediateData          TruthValue,
    iscsiSsnBootSession            TruthValue,
    iscsiSsnMaxOutstandingR2t      INTEGER,
    iscsiSsnMaxDataPduLength       INTEGER,
    iscsiSsnFirstBurstSize         INTEGER,
    iscsiSsnConnectionNumber       Unsigned32,
    iscsiSsnMaxConnections         Unsigned32,
    iscsiSsnHeaderIntegrity        Utf8String,
    iscsiSsnDataIntegrity          Utf8String
}

iscsiLPIndex

iscsiSsnIndex OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An arbitrary integer used to uniquely identify a particular
     port (aka socket)
        Session instance within an iSCSI instance present on the node."
::= { iscsiListenPortAttributesEntry iscsiSessionAttributesEntry 1 }

iscsiLPProtocol

iscsiSsnType OBJECT-TYPE
    SYNTAX                         INTEGER (1..255) { inboundSession(1),
                                             outboundSession(2) }
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "The protocol expected on the listening port."
    DEFVAL                         { 6 } -- TCP
        "Type 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."
::= { iscsiListenPortAttributesEntry iscsiSessionAttributesEntry 2 }

iscsiLPIpAddress

iscsiSsnTargetName OBJECT-TYPE
    SYNTAX                       IpAddress                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "The port's IP address."
        "Name of the target, as described in iscsiTgtName."
::= { iscsiListenPortAttributesEntry iscsiSessionAttributesEntry 3 }

iscsiLPTcpPort

iscsiSsnInitiatorName OBJECT-TYPE
    SYNTAX                       Unsigned32 (1..65535)                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "If TCP is the LPProtocol, this is the port portion
        "Name of the socket
    which is listening for connections." initiator, as described in iscsiIntrName."
::= { iscsiListenPortAttributesEntry iscsiSessionAttributesEntry 4 }

iscsiListenPortStatsTable

iscsiSsnUseR2t OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiListenPortStatsEntry                         TruthValue
    MAX-ACCESS                     not-accessible                     read-only
    STATUS                         current
    DESCRIPTION
        "A list of connect attempts
        "Indicates whether the initiator and results counters." target have agreed to use
        the Ready To Transfer (R2T) protocol to control data flow
        for Data PDUs flowing toward the target on this session."
::= { iscsiListenPortInfo 4 iscsiSessionAttributesEntry 5 }

iscsiListenPortStatsEntry

iscsiSsnBidirectionalUseR2t OBJECT-TYPE
    SYNTAX                         IscsiListenPortStatsEntry                         TruthValue
    MAX-ACCESS                     not-accessible                     read-only
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing connect attempts
        "Indicates whether the initiator and results
     counters target have agreed to use
        the Ready To Transfer (R2T) protocol to contorl data flow
        for a particular port."
    AUGMENTS { iscsiListenPortAttributesEntry } the write portions of bidirectional commands on this session."
::= { iscsiListenPortStatsTable 1 iscsiSessionAttributesEntry 6 }

IscsiListenPortStatsEntry

iscsiSsnImmediateData OBJECT-TYPE
    SYNTAX                         TruthValue
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "Indicates whether the initiator and target have agreed to support
        immediate commands on this session."
::= SEQUENCE {
    iscsiLPCxnCreations            Counter32,
    iscsiLPCxnRefusals             Counter32,
    iscsiLPCxnRefusalReason        Utf8String,
    iscsiLPCxnTerminations         Counter32,
    iscsiLPCxnTerminationReason    Utf8String,
    iscsiLPCxnShutdowns            Counter32 iscsiSessionAttributesEntry 7 }

iscsiLPCxnCreations

iscsiSsnBootSession OBJECT-TYPE
    SYNTAX                       Counter32                         TruthValue
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "The count
        "If True, indicates that the only purpose of connection attempts made this session
        is to boot an initiator.  The target will often restrict
        the operations that can be done in this listen port." case."
::= { iscsiListenPortStatsEntry 1 iscsiSessionAttributesEntry 8 }

iscsiLPCxnRefusals

iscsiSsnMaxOutstandingR2t OBJECT-TYPE
    SYNTAX                       Counter32                         INTEGER (1..65535)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count maximum number of connect attempt refusals." outstanding request-to-transmit
        (R2T)s per task within this session."
::= { iscsiListenPortStatsEntry 2 iscsiSessionAttributesEntry 9 }

iscsiLPCxnRefusalReason

iscsiSsnMaxDataPduLength OBJECT-TYPE
    SYNTAX                       Utf8String                         INTEGER (1..65535)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "If available, the reason for the last connection
    refusal."
        "The maximum data payload size supported for command
        or data PDUs within this session, in units of 512
        bytes."
::= { iscsiListenPortStatsEntry 3 iscsiSessionAttributesEntry 10 }

iscsiLPCxnTerminations

iscsiSsnFirstBurstSize OBJECT-TYPE
    SYNTAX                  Counter32                         INTEGER (1..65535)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count maximum length supported for unsolicited data sent
        within this session, in units of 512 bytes."
::= { iscsiSessionAttributesEntry 11 }

iscsiSsnConnectionNumber OBJECT-TYPE
    SYNTAX                         Unsigned32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The number of errored, unexpected, or otherwise non-graceful
    connection terminations. In TCP terms, connections that currently belong
        to this would mean session."
::= { iscsiSessionAttributesEntry 12 }

iscsiSsnMaxConnections OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..65535)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The maximum number of connections that
    one side sent a TCP RST." will be allowed
        within this session."
::= { iscsiListenPortStatsEntry 4 iscsiSessionAttributesEntry 13 }

iscsiLPCxnTerminationReason

iscsiSsnHeaderIntegrity OBJECT-TYPE
    SYNTAX                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "If available, the reason for
        "The name of the last connection
    termination." iSCSI header digest scheme in use
        within this session."
::= { iscsiListenPortStatsEntry 5 iscsiSessionAttributesEntry 14 }

iscsiLPCxnShutdowns

iscsiSsnDataIntegrity OBJECT-TYPE
    SYNTAX                       Counter32                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The number name of graceful terminations or shutdowns. In TCP terms, the iSCSI data digest scheme in use within
        this would mean a full exchange of TCP FIN commands." session."
::= { iscsiListenPortStatsEntry 6 iscsiSessionAttributesEntry 15 }

iscsiListenPortCxnErrorStatsTable

iscsiSessionStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiListenPortCxnErrorStatsEntry IscsiSessionStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of iSCSI command/response PDU or timeout connection error and octet data transfer counters
        for each of the Listen Port Session instances present on this the system."
::= { iscsiListenPortInfo 5 iscsiSessionInfo 4 }

iscsiListenPortCxnErrorStatsEntry

iscsiSessionStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiListenPortCxnErrorStatsEntry                         IscsiSessionStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing iSCSI command/response PDU or time-out connection error and
        octet data transfer counters for a particular Listen Port Session instance."
    AUGMENTS { iscsiListenPortAttributesEntry iscsiSessionAttributesEntry }
::= { iscsiListenPortCxnErrorStatsTable iscsiSessionStatsTable 1 }

IscsiListenPortCxnErrorStatsEntry

IscsiSessionStatsEntry ::= SEQUENCE {
    iscsiLPHdrDigestErrors         Counter32,
    iscsiLPDataDigestErrors
    iscsiSsnCmdPdus                Counter32,
    iscsiLPCxnTimeoutErrors
    iscsiSsnRspPdus                Counter32,
    iscsiLPFormatErrors            Counter32
    iscsiSsnTxDataOctets           Counter64,
    iscsiSsnRxDataOctets           Counter64
}

iscsiLPHdrDigestErrors

iscsiSsnCmdPdus OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Command PDUs which the port received which contained
     header digest errors." that flowed on this session instance."
::= { iscsiListenPortCxnErrorStatsEntry iscsiSessionStatsEntry 1 }

iscsiLPDataDigestErrors

iscsiSsnRspPdus OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Response PDUs which the port received which contained
     data digest errors." that flowed on this session instance."
::= { iscsiListenPortCxnErrorStatsEntry iscsiSessionStatsEntry 2 }

iscsiLPCxnTimeoutErrors

iscsiSsnTxDataOctets OBJECT-TYPE
    SYNTAX                  Counter32                         Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "This is the
        "The count of sequences which exceeded their
     time limit." data octets that were transmitted by
        the local iSCSI node on this session instance."
::= { iscsiListenPortCxnErrorStatsEntry iscsiSessionStatsEntry 3 }

iscsiLPFormatErrors

iscsiSsnRxDataOctets OBJECT-TYPE
    SYNTAX                       Counter32                         Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of PDUs which the port data octets that were received which contained
     a framing error." by
        the local iSCSI node on this session instance."
::= { iscsiListenPortCxnErrorStatsEntry iscsiSessionStatsEntry 4 }

iscsiListenPortTxStatusStatsTable

iscsiSessionCxnErrorStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiListenPortTxStatusStatsEntry IscsiSessionCxnErrorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "When a target receives a Login command, it responds
        with a Login Response that carries a status code.
        This table contains a
        "A list of PDU or timeout connection error counters of Login Response
        PDUs of for
        each status code, that were transmitted through
     a port." of the session instances present on this system."
::= { iscsiListenPortInfo 6 iscsiSessionInfo 5 }

iscsiListenPortTxStatusStatsEntry

iscsiSessionCxnErrorStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiListenPortTxStatusStatsEntry                         IscsiSessionCxnErrorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing PDU or time-out connection error
        counters of Login Response
        PDUs of each status code, that were transmitted through for a particular port." session instance."
    AUGMENTS { iscsiListenPortAttributesEntry iscsiSessionAttributesEntry }
::= { iscsiListenPortTxStatusStatsTable iscsiSessionCxnErrorStatsTable 1 }

IscsiListenPortTxStatusStatsEntry

IscsiSessionCxnErrorStatsEntry ::= SEQUENCE {
    iscsiLPTxStsAccepts            Counter32,
    iscsiLPTxStsAuthenticates      Counter32,
    iscsiLPTxStsNameRequireds      Counter32,
    iscsiLPTxStsMoveTemps          Counter32,
    iscsiLPTxStsMovePerms          Counter32,
    iscsiLPTxStsProxyRequireds     Counter32,
    iscsiLPTxStsAuthFails          Counter32,
    iscsiLPTxStsForbiddens
    iscsiSsnDigestErrors           Counter32,
    iscsiLPTxStsNotFounds          Counter32,
    iscsiLPTxStsRemoveds           Counter32,
    iscsiLPTxStsConflicts          Counter32,
    iscsiLPTxStsIsidErrors         Counter32,
    iscsiLPTxStsTargetErrors       Counter32,
    iscsiLPTxStsUnavailables
    iscsiSsnCxnTimeoutErrors       Counter32,
    iscsiLPTxStsInvalidVersions
    iscsiSsnFormatErrors           Counter32

}

iscsiLPTxStsAccepts

iscsiSsnDigestErrors OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0000, Accept Login,
     transmitted through this port." which the session instance received which
        contained header or data digest errors."
::= { iscsiListenPortTxStatusStatsEntry iscsiSessionCxnErrorStatsEntry 1 }

iscsiLPTxStsAuthenticates

iscsiSsnCxnTimeoutErrors OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The
        "This is the count of Login Response PDUs with status
     0x0001, Authenticate,
     transmitted though this port." sequences which exceeded their
        time limit."
::= { iscsiListenPortTxStatusStatsEntry iscsiSessionCxnErrorStatsEntry 2 }

iscsiLPTxStsNameRequireds

iscsiSsnFormatErrors OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0002, Target Name Required,
     transmitted though this port." which the ISCSI instance received which
        contained a format error."
::= { iscsiListenPortTxStatusStatsEntry iscsiSessionCxnErrorStatsEntry 3 }

iscsiLPTxStsMoveTemps OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0101, Target Moved Temporarily,
     transmitted though this port."

----------------------------------------------------------------------

iscsiConnectionInfo OBJECT IDENTIFIER ::= { iscsiListenPortTxStatusStatsEntry 4 iscsiSessionObjects 1 }

iscsiConnectionObjects OBJECT IDENTIFIER ::= { iscsiConnectionInfo 1 }
iscsiConnectionScalars OBJECT IDENTIFIER ::= { iscsiConnectionInfo 2 }

iscsiLPTxStsMovePerms

iscsiConnectionAttributesTable OBJECT-TYPE
    SYNTAX                       Counter32                         SEQUENCE OF IscsiConnectionAttributesEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
        "The count
        "A list of Login Response PDUs with status
     0x0102, Target Moved Permanently,
     transmitted though this port." Connections belonging to each iSCSI instance
        present on the system."
::= { iscsiListenPortTxStatusStatsEntry 5 iscsiConnectionInfo 3 }

iscsiLPTxStsProxyRequireds

iscsiConnectionAttributesEntry OBJECT-TYPE
    SYNTAX                       Counter32                         IscsiConnectionAttributesEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0103, Proxy Required,
     transmitted though this port."
::= { iscsiListenPortTxStatusStatsEntry 6
        "An entry (row) containing managment information applicable
        to a particular Connection instance."
    INDEX { iscsiInstIndex, iscsiSsnIndex, iscsiCxnIndex }
::= { iscsiConnectionAttributesTable 1 }

IscsiConnectionAttributesEntry ::= SEQUENCE {
    iscsiCxnIndex                  Unsigned32,
    iscsiCxnState                  INTEGER,
    iscsiCxnProtocol               INTEGER,
    iscsiCxnLocalAddrType          InetAddressType,
    iscsiCxnLocalAddr              InetAddress,
    iscsiCxnLocalPort              Unsigned32,
    iscsiCxnRemoteAddrType         InetAddressType,
    iscsiCxnRemoteAddr             InetAddress,
    iscsiCxnRemotePort             Unsigned32
}

iscsiLPTxStsAuthFails

iscsiCxnIndex OBJECT-TYPE
    SYNTAX                       Counter32                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
        "The count
        "An arbitrary integer used to uniquely identify a particular
        Connection instance of Login Response PDUs with status
     0x0201, Authentication Failed,
     transmitted though this port." a particular Session instance within an
        iSCSI instance present on the node."
::= { iscsiListenPortTxStatusStatsEntry 7 iscsiConnectionAttributesEntry 1 }

iscsiLPTxStsForbiddens

iscsiCxnState OBJECT-TYPE
    SYNTAX                  Counter32                         INTEGER {
                                       login(0),
                                       negotiation(1),
                                       full(2),
                                       logout(3)
                                   }
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count current state of Login Response PDUs with status
     0x0202, Forbidden Target,
     transmitted though this port." connection, from an iSCSI negotiation
        point of view.  Here are the states:

        login       - The TCP connection has been established, and
                      is in the login phase.
        negotiation - The login phase is complete, and the connection
                      is in the parameter negotiation phase.
        full        - The connection is in the full feature phase.
        logout      - The connection is in the logout phase."

::= { iscsiListenPortTxStatusStatsEntry 8 iscsiConnectionAttributesEntry 2 }

iscsiLPTxStsNotFounds

iscsiCxnProtocol OBJECT-TYPE
    SYNTAX                       Counter32                         INTEGER (1..255)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0203, Not Found,
     transmitted though transport protocol over which this port." connection instance is
        running."
    DEFVAL                         { 6 } -- TCP
::= { iscsiListenPortTxStatusStatsEntry 9 iscsiConnectionAttributesEntry 3 }

iscsiLPTxStsRemoveds

iscsiCxnLocalAddrType OBJECT-TYPE
    SYNTAX                       Counter32                         InetAddressType
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count type of Login Response PDUs with status
     0x0204, Target Removed,
     transmitted though this port." Inet address in the next object."
::= { iscsiListenPortTxStatusStatsEntry 10 iscsiConnectionAttributesEntry 4 }

iscsiLPTxStsConflicts

iscsiCxnLocalAddr OBJECT-TYPE
    SYNTAX                       Counter32                         InetAddress
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0205, Target Conflict,
     transmitted though local Inet address used by this port." connection instance."
::= { iscsiListenPortTxStatusStatsEntry 11 iscsiConnectionAttributesEntry 5 }

iscsiLPTxStsIsidErrors

iscsiCxnLocalPort OBJECT-TYPE
    SYNTAX                       Counter32                         Unsigned32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0206, Initiator SID Error,
     transmitted though local port used by this port." connection instance."
::= { iscsiListenPortTxStatusStatsEntry 12 iscsiConnectionAttributesEntry 6 }

iscsiLPTxStsTargetErrors

iscsiCxnRemoteAddrType OBJECT-TYPE
    SYNTAX                  Counter32                         InetAddressType
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count type of Login Response PDUs with status
     0x0300, Target Error,
     transmitted though this port." Inet address in the next object."
::= { iscsiListenPortTxStatusStatsEntry 13 iscsiConnectionAttributesEntry 7 }

iscsiLPTxStsUnavailables

iscsiCxnRemoteAddr OBJECT-TYPE
    SYNTAX                  Counter32                         InetAddress
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0301, Service Unavailable,
     transmitted though this port." remote Inet address used by this connection instance."
::= { iscsiListenPortTxStatusStatsEntry 14 iscsiConnectionAttributesEntry 8 }

iscsiLPTxStsInvalidVersions

iscsiCxnRemotePort OBJECT-TYPE
    SYNTAX                  Counter32                         Unsigned32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0302, Unsupported Version,
     transmitted though remote port used by this port." connection instance."
::= { iscsiListenPortTxStatusStatsEntry 15 iscsiConnectionAttributesEntry 9 }

----------------------------------------------------------------------

iscsiTargetInfo OBJECT IDENTIFIER ::= { iscsiInstanceObjects 4 }

iscsiTargetObjects OBJECT IDENTIFIER ::= { iscsiTargetInfo 1 }
iscsiTargetScalars OBJECT IDENTIFIER ::= { iscsiTargetInfo 2 }

iscsiListenPortRxStatusStatsTable

iscsiTargetAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiListenPortRxStatusStatsEntry IscsiTargetAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "When a target receives a Login command, it responds
        with a Login Response that carries a status code.
        This table contains a
        "A list of counters of Login Response
        PDUs of targets belonging to each status code, that were received through
     a port." iSCSI instance
        present on the system."
::= { iscsiListenPortInfo 7 iscsiTargetInfo 3 }

iscsiListenPortRxStatusStatsEntry

iscsiTargetAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiListenPortRxStatusStatsEntry                         IscsiTargetAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Login Response
        PDUs of each status code, that were received through managment information applicable
        to a particular port."
    AUGMENTS target instance."
    INDEX { iscsiListenPortAttributesEntry iscsiInstIndex, iscsiTgtIndex }
::= { iscsiListenPortRxStatusStatsTable iscsiTargetAttributesTable 1 }

IscsiListenPortRxStatusStatsEntry

IscsiTargetAttributesEntry ::= SEQUENCE {
    iscsiLPRxStsAccepts            Counter32,
    iscsiLPRxStsAuthenticates      Counter32,
    iscsiLPRxStsNameRequireds      Counter32,
    iscsiLPRxStsMoveTemps          Counter32,
    iscsiLPRxStsMovePerms          Counter32,
    iscsiLPRxStsProxyRequireds     Counter32,
    iscsiLPRxStsAuthFails          Counter32,
    iscsiLPRxStsForbiddens         Counter32,
    iscsiLPRxStsNotFounds          Counter32,
    iscsiLPRxStsRemoveds           Counter32,
    iscsiLPRxStsConflicts          Counter32,
    iscsiLPRxStsIsidErrors         Counter32,
    iscsiLPRxStsTargetErrors       Counter32,
    iscsiLPRxStsUnavailables       Counter32,
    iscsiLPRxStsInvalidVersions    Counter32
    iscsiTgtIndex                  Unsigned32,
    iscsiTgtName                   Utf8String,
    iscsiTgtAlias                  Utf8String,
    iscsiTgtLastFailureTime        TimeStamp,
    iscsiTgtLastFailureType        VariablePointer,
    iscsiTgtLastIntrFailureName    Utf8String,
    iscsiTgtLastIntrFailureAddrType InetAddressType,
    iscsiTgtLastIntrFailureAddr    InetAddress
}

iscsiLPRxStsAccepts

iscsiTgtIndex OBJECT-TYPE
    SYNTAX                       Counter32                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0000, Accept Login,
     received through this port."
        "An arbitrary integer used to uniquely identify a particular
        target instance within an iSCSI instance present on the node."
::= { iscsiListenPortRxStatusStatsEntry iscsiTargetAttributesEntry 1 }

iscsiLPRxStsAuthenticates

iscsiTgtName OBJECT-TYPE
    SYNTAX                  Counter32                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0001, Authenticate,
     received though
        "A globally unique, UTF-8 identifier for this port." Target.  The
        Target Name is independent of the location of the target,
        and can be resolved into a set of addresses through various
        discovery services."
::= { iscsiListenPortRxStatusStatsEntry iscsiTargetAttributesEntry 2 }

iscsiLPRxStsNameRequireds

iscsiTgtAlias OBJECT-TYPE
    SYNTAX                       Counter32                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count
        "A human-readable name or description of Login Response PDUs with status
     0x0002, Target Name Required,
     received though the target.  If
        configured, this port."
::= alias may be communicated to the initiator
        during a Login Response message.  This string is not used as
        an identifier, but can be displayed by the initiator's user
        interface in a list of targets to which it is connected. "
::= { iscsiListenPortRxStatusStatsEntry iscsiTargetAttributesEntry 3 }

iscsiLPRxStsMoveTemps

iscsiTgtLastFailureTime OBJECT-TYPE
    SYNTAX                       Counter32                         TimeStamp
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count value of Login Response PDUs with status
     0x0101, Target Moved Temporarily,
     received though this port." object sysUpTime when the last failure
        occurred."
::= { iscsiListenPortRxStatusStatsEntry iscsiTargetAttributesEntry 4 }

iscsiLPRxStsMovePerms

iscsiTgtLastFailureType  OBJECT-TYPE
    SYNTAX                       Counter32                         VariablePointer
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0102, Target Moved Permanently,
     received though this port." exact counter instance in the iscsiTargetLoginStatsTable
        that was incremented when the last failure occurred."

::= { iscsiListenPortRxStatusStatsEntry iscsiTargetAttributesEntry 5 }

iscsiLPRxStsProxyRequireds

iscsiTgtLastIntrFailureName  OBJECT-TYPE
    SYNTAX                       Counter32                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count
        "An UTF-8 string giving the name of Login Response PDUs with status
     0x0103, Proxy Required,
     received though this port." the initiator
        that failed the last login attempt."
::= { iscsiListenPortRxStatusStatsEntry iscsiTargetAttributesEntry 6 }

iscsiLPRxStsAuthFails

iscsiTgtLastIntrFailureAddrType OBJECT-TYPE
    SYNTAX                       Counter32                         InetAddressType
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count type of Login Response PDUs with status
     0x0201, Authentication Failed,
     received though this port." Inet address in the next object."
::= { iscsiListenPortRxStatusStatsEntry iscsiTargetAttributesEntry 7 }

iscsiLPRxStsForbiddens

iscsiTgtLastIntrFailureAddr OBJECT-TYPE
    SYNTAX                  Counter32                         InetAddress
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count
        "An Inet address giving the host address of Login Response PDUs with status
     0x0202, Forbidden Target,
     received though this port." the initiator
        that failed the last login attempt."
::= { iscsiListenPortRxStatusStatsEntry iscsiTargetAttributesEntry 8 }

iscsiLPRxStsNotFounds

iscsiTargetLoginStatsTable OBJECT-TYPE
    SYNTAX                       Counter32                         SEQUENCE OF IscsiTargetLoginStatsEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
        "The count
        "A table of Login Response PDUs with status
     0x0203, Not Found,
     received though counters which keep track of the number of
        times this port." target failed an initiator's login attempt
        for each important reason."
::= { iscsiListenPortRxStatusStatsEntry 9 iscsiTargetInfo 4 }

iscsiTargetLoginStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetLoginStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters for each login
        failure reason."
    AUGMENTS { iscsiTargetAttributesEntry }

iscsiLPRxStsRemoveds
::= { iscsiTargetLoginStatsTable 1 }

IscsiTargetLoginStatsEntry ::= SEQUENCE {
    iscsiTgtLoginAccepts           Counter32,
    iscsiTgtLoginOtherFails        Counter32,
    iscsiTgtLoginRedirects         Counter32,
    iscsiTgtLoginAuthorizeFails    Counter32,
    iscsiTgtLoginAuthenticateFails Counter32,
    iscsiTgtLoginNegotiateFails    Counter32
}

iscsiTgtLoginAccepts OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0204, Target Removed,
     received though
        0x0000, Accept Login, transmitted by this port."
        target."
::= { iscsiListenPortRxStatusStatsEntry 10 iscsiTargetLoginStatsEntry 1 }

iscsiLPRxStsConflicts

iscsiTgtLoginOtherFails OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with any status
     0x0205, Target Conflict,
     received though
        code not counted in the other failure status objects
        below that was transmitted by this port." target."
::= { iscsiListenPortRxStatusStatsEntry 11 iscsiTargetLoginStatsEntry 3 }

iscsiLPRxStsIsidErrors

iscsiTgtLoginRedirects OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0206, Initiator SID Error,
     received though class 0x01,
        Redirection, transmitted by this port." target."
::= { iscsiListenPortRxStatusStatsEntry 12 iscsiTargetLoginStatsEntry 2 }

iscsiLPRxStsTargetErrors

iscsiTgtLoginAuthorizeFails OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0300, Target Error,
     received though 0x0202,
        Forbidden Target, transmitted by this target.

        If this port." counter is incremented, an iscsiTgtLoginFailure
        notification should be sent."

::= { iscsiListenPortRxStatusStatsEntry 13 iscsiTargetLoginStatsEntry 4 }

iscsiLPRxStsUnavailables

iscsiTgtLoginAuthenticateFails OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0301, Service Unavailable,
     received though 0x0201,
        Authentication Failed, transmitted by this target

        If this port." counter is incremented, an iscsiTgtLoginFailure
        notification should be sent."
::= { iscsiListenPortRxStatusStatsEntry 14 iscsiTargetLoginStatsEntry 5 }

iscsiLPRxStsInvalidVersions

iscsiTgtLoginNegotiateFails OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count number of Login times a target has effectively refused a
        login because the parameter negotiation failed.
        [Ed. While this situation can occur, the exact mechanism
        is as yet undefined in the iSCSI Protocol Spec.]

        If this counter is incremented, an iscsiTgtLoginFailure
        notification should be sent."
::= { iscsiTargetLoginStatsEntry 6 }

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."
::= { iscsiTargetInfo 5 }

iscsiTargetLogoutStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Logout Response
        PDUs that were transmitted by a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetLogoutStatsTable 1 }

IscsiTargetLogoutStatsEntry ::= SEQUENCE {
    iscsiTgtLogoutNormals          Counter32,
    iscsiTgtLogoutOthers           Counter32
}

iscsiTgtLogoutNormals OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Command PDUs with status
     0x0302, Unsupported Version,
        reason code 0, Closes the session, received though by this port." target."
::= { iscsiListenPortRxStatusStatsEntry 15 iscsiTargetLogoutStatsEntry 1 }

iscsiTgtLogoutOthers OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Command command PDUs with
        any status code other than 0, received by the target."
::= { iscsiTargetLogoutStatsEntry 2 }

----------------------------------------------------------------------

iscsiSessionInfo

iscsiAccessListInfo OBJECT IDENTIFIER ::= { iscsiInstanceObjects iscsiTargetObjects 2 }

iscsiSessionObjects

iscsiAccessListObjects OBJECT IDENTIFIER ::= { iscsiSessionInfo iscsiAccessListInfo 1 }
iscsiSessionScalars
iscsiAccessListScalars OBJECT IDENTIFIER ::= { iscsiSessionInfo iscsiAccessListInfo 2 }

iscsiSessionAttributesTable

iscsiAccessListAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionAttributesEntry IscsiAccessListAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of Sessions belonging iSCSI initiators which will be granted access
        to each iSCSI instance
        present on resources through targets within the system." iSCSI
        instance."
::= { iscsiSessionInfo iscsiAccessListInfo 3 }

iscsiSessionAttributesEntry

iscsiAccessListAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionAttributesEntry                         IscsiAccessListAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing managment management information
        applicable to an initiator which is known by a particular Session instance." target
        within an iSCSI instance on this node."
    INDEX { iscsiInstIndex, iscsiSsnIndex iscsiTgtIndex, iscsiALIndex }
::= { iscsiSessionAttributesTable iscsiAccessListAttributesTable  1 }

IscsiSessionAttributesEntry

IscsiAccessListAttributesEntry ::= SEQUENCE {
    iscsiSsnIndex
    iscsiALIndex                   Unsigned32,
    iscsiSsnType                   INTEGER,
    iscsiSsnTargetName             Utf8String,
    iscsiSsnInitiatorName          Utf8String,
    iscsiSsnUseR2t                 TruthValue,
    iscsiSsnBidirectionalUseR2t    TruthValue,
    iscsiSsnImmediateData          TruthValue,
    iscsiSsnEnableCmdRn            TruthValue,
    iscsiSsnInDataOrder            TruthValue,
    iscsiSsnBootSession            TruthValue,
    iscsiSsnMaxOutstandingR2t      INTEGER,
    iscsiSsnMaxDataPduLength       INTEGER,
    iscsiSsnFirstBurstSize         INTEGER,
    iscsiSsnInitiatorTagLength     INTEGER,
    iscsiSsnPingMaxReplyLength     INTEGER,
    iscsiSsnMaxTotalText           INTEGER,
    iscsiSsnKeyValueText           INTEGER,
    iscsiSsnConnectionNumber       Unsigned32,
    iscsiSsnMaxConnections         Unsigned32,
    iscsiSsnHeaderIntegrity        Utf8String,
    iscsiSsnDataIntegrity          Utf8String,
    iscsiSsnInitiatorAuth          Utf8String,
    iscsiSsnTargetAuth             Utf8String,
    iscsiSsnInitiatorUserName      Utf8String,
    iscsiSsnTargetUserName         Utf8String,
    iscsiSsnFramingScheme
    iscsiALInitiatorName           Utf8String
}

iscsiSsnIndex

iscsiALIndex OBJECT-TYPE
    SYNTAX                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An arbitrary integer used to uniquely identify a particular
     Session
        Access List instance of a particular target instance within an
        iSCSI instance present on the node."
::= { iscsiSessionAttributesEntry iscsiAccessListAttributesEntry 1 }

iscsiSsnType

iscsiALInitiatorName OBJECT-TYPE
    SYNTAX                         INTEGER { inboundSession(1),
                                             outboundSession(2) }                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "Type
        "The globally unique name of iSCSI session:
     InboundSession  - session is established from an external
                       initiator the initiator, sent to a the
        target within this iSCSI
                          instance.
     OutboundSession - session is established from an initiator
                       within this iSCSI instance to an external
                          target." in the <InitiatorName> key of the Login Command."
::= { iscsiSessionAttributesEntry iscsiAccessListAttributesEntry 2 }

iscsiSsnTargetName

----------------------------------------------------------------------

iscsiInitiatorInfo OBJECT IDENTIFIER ::= { iscsiInstanceObjects 5 }

iscsiInitiatorObjects OBJECT IDENTIFIER ::= { iscsiInitiatorInfo 1 }
iscsiInitiatorScalars OBJECT IDENTIFIER ::= { iscsiInitiatorInfo 2 }

iscsiInitiatorAttributesTable OBJECT-TYPE
    SYNTAX                       Utf8String                         SEQUENCE OF IscsiInitiatorAttributesEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
    "Name
        "A list of initiators belonging to each iSCSI instance
        present on the target, as described in iscsiTgtName." system."
::= { iscsiSessionAttributesEntry iscsiInitiatorInfo 3 }

iscsiSsnInitiatorName

iscsiInitiatorAttributesEntry OBJECT-TYPE
    SYNTAX                       Utf8String                         IscsiInitiatorAttributesEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
    "Name of the initiator, as described in iscsiIntrName."
        "An entry (row) containing managment information applicable
        to a particular initiator instance."
    INDEX  { iscsiInstIndex, iscsiIntrIndex }
::= { iscsiSessionAttributesEntry 4 iscsiInitiatorAttributesTable 1 }

iscsiSsnUseR2t

IscsiInitiatorAttributesEntry ::= SEQUENCE {
    iscsiIntrIndex                 Unsigned32,
    iscsiIntrName                  Utf8String,
    iscsiIntrAlias                 Utf8String,
    iscsiIntrLastFailureTime       TimeStamp,
    iscsiIntrLastFailureType       VariablePointer,
    iscsiIntrLastTgtFailureName    Utf8String,
    iscsiIntrLastTgtFailureAddrType InetAddressType,
    iscsiIntrLastTgtFailureAddr    InetAddress
}

iscsiIntrIndex OBJECT-TYPE
    SYNTAX                       TruthValue                         Unsigned32 (1..4294967295)
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
     "Indicates whether the initiator and target have agreed to use
     the Ready To Transfer (R2T) protocol
        "An arbitrary integer used to control data flow
     for Data PDUs flowing toward the target uniquely identify a particular
        Initiator instance within an iSCSI instance present on this session." the
        node."
::= { iscsiSessionAttributesEntry 5 }

iscsiSsnBidirectionalUseR2t iscsiInitiatorAttributesEntry 1 }

iscsiIntrName OBJECT-TYPE
    SYNTAX                  TruthValue                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "Indicates whether the initiator and target have agreed to use
     the Ready To Transfer (R2T) protocol to contorl data flow
        "A text-based identifier for this Initiator that
        is globally unique. The Initiator Name is
        independent of the write portions location of bidirectional commands on this session." the initiator."
::= { iscsiSessionAttributesEntry 6 iscsiInitiatorAttributesEntry 2 }

iscsiSsnImmediateData

iscsiIntrAlias OBJECT-TYPE
    SYNTAX                       TruthValue                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "Indicates whether
        "A human-readable name or description of the initiator. If
        configured, this initiator and alias may be communicated to
        the target have agreed during a Login Request message. This string is
        not used as an identifier, but can be displayed by the
        target's user interface in a list of initiators to support
     immediate commands on this session." which it
        is connected."
::= { iscsiSessionAttributesEntry 7 iscsiInitiatorAttributesEntry 3 }

iscsiSsnEnableCmdRn

iscsiIntrLastFailureTime OBJECT-TYPE
    SYNTAX                       TruthValue                         TimeStamp
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
        "The value of object sysUpTime when the last failure
        occurred."
::= { iscsiSessionAttributesEntry 8 iscsiInitiatorAttributesEntry 4 }

iscsiSsnInDataOrder

iscsiIntrLastFailureType  OBJECT-TYPE
    SYNTAX                       TruthValue                         VariablePointer
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
        "The exact counter instance in the iscsiInitiatorLoginStatsTable
        that was incremented when the last failure occurred."
::= { iscsiSessionAttributesEntry 9 iscsiInitiatorAttributesEntry 5 }

iscsiSsnBootSession

iscsiIntrLastTgtFailureName  OBJECT-TYPE
    SYNTAX                       TruthValue                         Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
        "An UTF-8 string giving the name of the target
        that failed the last login attempt."
::= { iscsiSessionAttributesEntry 10 iscsiInitiatorAttributesEntry 6 }

iscsiSsnMaxOutstandingR2t

iscsiIntrLastTgtFailureAddrType OBJECT-TYPE
    SYNTAX                  INTEGER (1..65535)                         InetAddressType
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
        "The type of Inet address in the next object."
::= { iscsiSessionAttributesEntry 11 iscsiInitiatorAttributesEntry 7 }

iscsiSsnMaxDataPduLength

iscsiIntrLastTgtFailureAddr OBJECT-TYPE
    SYNTAX                  INTEGER (1..65535)                         InetAddress
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
        "An Inet address giving the host address of the target
        that failed the last login attempt."
::= { iscsiSessionAttributesEntry 12 iscsiInitiatorAttributesEntry 8 }

iscsiSsnFirstBurstSize

iscsiInitiatorLoginStatsTable OBJECT-TYPE
    SYNTAX                  INTEGER (1..65535)                         SEQUENCE OF IscsiInitiatorLoginStatsEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
    "."
        "A table of counters which keep track of the number of
        times this initiator's login attempts failed for each
        important reason."
::= { iscsiSessionAttributesEntry 13 iscsiInitiatorInfo 4 }

iscsiSsnInitiatorTagLength

iscsiInitiatorLoginStatsEntry OBJECT-TYPE
    SYNTAX                       INTEGER (16..32)                         IscsiInitiatorLoginStatsEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
    "."
        "An entry (row) containing counters of each major
        reason for an iSCSI login failure."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiSessionAttributesEntry 14 iscsiInitiatorLoginStatsTable 1 }

iscsiSsnPingMaxReplyLength OBJECT-TYPE
    SYNTAX                       INTEGER (1..8091)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."

IscsiInitiatorLoginStatsEntry ::= SEQUENCE { iscsiSessionAttributesEntry 15
    iscsiIntrLoginAcceptRsps       Counter32,
    iscsiIntrLoginOtherFailRsps    Counter32,
    iscsiIntrLoginRedirectRsps     Counter32,
    iscsiIntrLoginAuthFailRsps     Counter32,
    iscsiIntrLoginAuthenticateFails Counter32,
    iscsiIntrLoginNegotiateFails   Counter32
}

iscsiSsnMaxTotalText

iscsiIntrLoginAcceptRsps OBJECT-TYPE
    SYNTAX                       INTEGER (1..65535)                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
        "The count of Login Response PDUs with status
        0x0000, Accept Login, received by this initiator."
::= { iscsiSessionAttributesEntry 16 iscsiInitiatorLoginStatsEntry 1 }

iscsiSsnKeyValueText

iscsiIntrLoginOtherFailRsps OBJECT-TYPE
    SYNTAX                       INTEGER (1..65535)                         Counter32
    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."
::= { iscsiSessionAttributesEntry 17 iscsiInitiatorLoginStatsEntry 2 }

iscsiSsnConnectionNumber

iscsiIntrLoginRedirectRsps OBJECT-TYPE
    SYNTAX                  Unsigned32                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
        "The count of Login Response PDUs with status class 0x01,
        Redirection, received by this initiator."
::= { iscsiSessionAttributesEntry 18 iscsiInitiatorLoginStatsEntry 3 }

iscsiSsnMaxConnections

iscsiIntrLoginAuthFailRsps OBJECT-TYPE
    SYNTAX                  Unsigned32 (1..65535)                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
        "The count of Login Response PDUs with status class 0x201,
        Authentication Failed, received by this initiator."
::= { iscsiSessionAttributesEntry 19 iscsiInitiatorLoginStatsEntry 4 }

iscsiSsnHeaderIntegrity

iscsiIntrLoginAuthenticateFails OBJECT-TYPE
    SYNTAX                  Utf8String                         Counter32
    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 sent.

        If this counter is incremented, an iscsiIntrLoginFailure
        notification should be sent."
::= { iscsiSessionAttributesEntry 20 iscsiInitiatorLoginStatsEntry 5 }

iscsiSsnDataIntegrity

iscsiIntrLoginNegotiateFails OBJECT-TYPE
    SYNTAX                       Utf8String                         Counter32
    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 sent.

        If this counter is incremented, an iscsiIntrLoginFailure
        notification should be sent."
::= { iscsiSessionAttributesEntry 21 iscsiInitiatorLoginStatsEntry 6 }

iscsiSsnInitiatorAuth

iscsiInitiatorLogoutStatsTable OBJECT-TYPE
    SYNTAX                       Utf8String                         SEQUENCE OF IscsiInitiatorLogoutStatsEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
    "."
        "When an initiator attempts send a Logout command, the target
        responds with a Logout Response that carries a status code.
        This table contains a list of counters of Logout Response
        PDUs of each status code, that were received by each
        initiator instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionAttributesEntry 22 iscsiInitiatorInfo 5 }

iscsiSsnTargetAuth

iscsiInitiatorLogoutStatsEntry OBJECT-TYPE
    SYNTAX                  Utf8String                         IscsiInitiatorLogoutStatsEntry
    MAX-ACCESS                     read-only                     not-accessible
    STATUS                         current
    DESCRIPTION
    "."
        "An entry (row) containing counters of Logout Response
        PDUs of each status code, that were received by
        a particular initiator instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiSessionAttributesEntry 23 iscsiInitiatorLogoutStatsTable 1 }

IscsiInitiatorLogoutStatsEntry ::= SEQUENCE {
    iscsiIntrLogoutNormals         Counter32,
    iscsiIntrLogoutOthers          Counter32
}

iscsiSsnInitiatorUserName

iscsiIntrLogoutNormals OBJECT-TYPE
    SYNTAX                  Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
::= { iscsiSessionAttributesEntry 24 }

iscsiSsnTargetUserName OBJECT-TYPE
    SYNTAX                  Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
::= { iscsiSessionAttributesEntry 25 }

iscsiSsnFramingScheme OBJECT-TYPE
    SYNTAX                       Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
::= { iscsiSessionAttributesEntry 26 }

iscsiSessionStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of iSCSI command/response PDU and octet data transfer counters
         for each of the Session instances present on the system."
::= { iscsiSessionInfo 4 }

iscsiSessionStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing iSCSI command/response PDU and octet data
         transfer counters for a particular Session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionStatsTable 1 }

IscsiSessionStatsEntry ::= SEQUENCE {
    iscsiSsnTxCmdPdus              Counter32,
    iscsiSsnTxRspPdus              Counter32,
    iscsiSsnRxRspPdus              Counter32,
    iscsiSsnRxCmdPdus              Counter32,
    iscsiSsnTxDataOctets           Counter64,
    iscsiSsnRxDataOctets           Counter64
}

iscsiSsnTxCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Command PDUs that were transmitted by this session instance."
::= { iscsiSessionStatsEntry 1 }

iscsiSsnTxRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Response PDUs that were transmitted by this session instance."
::= { iscsiSessionStatsEntry 2 }

iscsiSsnRxRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Response PDUs that were received by this session instance."
::= { iscsiSessionStatsEntry 3 }

iscsiSsnRxCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Command PDUs that were received by this session instance."
::= { iscsiSessionStatsEntry 4 }

iscsiSsnTxDataOctets OBJECT-TYPE
    SYNTAX                       Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of data octets that were transmitted by this session instance."
::= { iscsiSessionStatsEntry 5 }

iscsiSsnRxDataOctets OBJECT-TYPE
    SYNTAX                       Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of data octets that were received by this session instance."
::= { iscsiSessionStatsEntry 6 }

iscsiSessionCxnErrorStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionCxnErrorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of PDU or timeout connection error counters for
     each of the session instances present on this system."
::= { iscsiSessionInfo 5 }

iscsiSessionCxnErrorStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionCxnErrorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing PDU or time-out connection error
     counters for a particular session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionCxnErrorStatsTable 1 }

IscsiSessionCxnErrorStatsEntry ::= SEQUENCE {
    iscsiSsnHdrDigestErrors        Counter32,
    iscsiSsnDataDigestErrors       Counter32,
    iscsiSsnCxnTimeoutErrors       Counter32,
    iscsiSsnFormatErrors           Counter32
}

iscsiSsnHdrDigestErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the session instance received which
     contained header digest errors."
::= { iscsiSessionCxnErrorStatsEntry 1 }

iscsiSsnDataDigestErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the session instance received which
     contained data digest errors."
::= { iscsiSessionCxnErrorStatsEntry 2 }

iscsiSsnCxnTimeoutErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "This is the count of sequences which exceeded their
     time limit."
::= { iscsiSessionCxnErrorStatsEntry 3 }

iscsiSsnFormatErrors OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which with
        reason code 0, Closes the ISCSI instance received which
     contained a format error."
::= { iscsiSessionCxnErrorStatsEntry 4 }

iscsiSessionTxCmdStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionTxCmdStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of counters of initiator command PDUs transmitted by each
        session instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionInfo 6 }

iscsiSessionTxCmdStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionTxCmdStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of initiator command PDUs
     transmitted by a particular session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionTxCmdStatsTable 1 }

IscsiSessionTxCmdStatsEntry ::= SEQUENCE {
    iscsiSsnTxNopOutPdus           Counter32,
    iscsiSsnTxScsiCmdPdus          Counter32,
    iscsiSsnTxScsiTaskMgmtCmdPdus  Counter32,
    iscsiSsnTxLoginCmdPdus         Counter32,
    iscsiSsnTxTextCmdPdus          Counter32,
    iscsiSsnTxScsiDataWritePdus    Counter32,
    iscsiSsnTxLogoutCmdPdus        Counter32,
    iscsiSsnTxSnackReqPdus         Counter32
}

iscsiSsnTxNopOutPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of NOP-Out PDUs transmitted by this session."
::= { iscsiSessionTxCmdStatsEntry 1 }

iscsiSsnTxScsiCmdPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SCSI Command PDUs transmitted by this session."
::= { iscsiSessionTxCmdStatsEntry 2 }

iscsiSsnTxScsiTaskMgmtCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Task Management Command PDUs
     transmitted by this session."
::= { iscsiSessionTxCmdStatsEntry 3 }

iscsiSsnTxLoginCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Command PDUs transmitted by this session."
::= { iscsiSessionTxCmdStatsEntry 4 }

iscsiSsnTxTextCmdPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Text Command PDUs transmitted by this session."
::= { iscsiSessionTxCmdStatsEntry 5 }

iscsiSsnTxScsiDataWritePdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Data PDUs transmitted by this session following a WRITE
     command or in reply to Ready To Transfer (R2T) command."
::= { iscsiSessionTxCmdStatsEntry 6 }

iscsiSsnTxLogoutCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Command PDUs transmitted by this session."
::= { iscsiSessionTxCmdStatsEntry 7 }

iscsiSsnTxSnackReqPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SNACK Request PDUs transmitted by this session."
::= { iscsiSessionTxCmdStatsEntry 8 }

iscsiSessionRxCmdStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionRxCmdStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of counters of initiator command PDUs received by each
        session instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionInfo 7 }

iscsiSessionRxCmdStatsEntry OBJECT-TYPE
    SYNTAX                          IscsiSessionRxCmdStatsEntry
    MAX-ACCESS                      not-accessible
    STATUS                          current
    DESCRIPTION
        "An entry (row) containing counters of initiator command PDUs
     received by a particular session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionRxCmdStatsTable 1 }

IscsiSessionRxCmdStatsEntry ::= SEQUENCE {
    iscsiSsnRxNopInPdus            Counter32,
    iscsiSsnRxScsiRspPdus          Counter32,
    iscsiSsnRxScsiTaskMgmtRspPdus  Counter32,
    iscsiSsnRxLoginRspPdus         Counter32,
    iscsiSsnRxTextRspPdus          Counter32,
    iscsiSsnRxScsiDataReadPdus     Counter32,
    iscsiSsnRxLogoutRspPdus        Counter32,
    iscsiSsnRxR2TPdus              Counter32,
    iscsiSsnRxAsyncPdus            Counter32,
    iscsiSsnRxRejectPdus           Counter32
}

iscsiSsnRxNopInPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of NOP-In PDUs received by this session."
::= { iscsiSessionRxCmdStatsEntry 1 }

iscsiSsnRxScsiRspPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Response PDUs received by this session."
::= { iscsiSessionRxCmdStatsEntry 2 }

iscsiSsnRxScsiTaskMgmtRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Task Management Response PDUs
     received by this session."
::= { iscsiSessionRxCmdStatsEntry 3 }

iscsiSsnRxLoginRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Login Response PDUs received by this session."
::= { iscsiSessionRxCmdStatsEntry 4 }

iscsiSsnRxTextRspPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Text Response PDUs received by this session."
::= { iscsiSessionRxCmdStatsEntry 5 }

iscsiSsnRxScsiDataReadPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Data PDUs received by this session in
     reply to a READ command."
::= { iscsiSessionRxCmdStatsEntry 6 }

iscsiSsnRxLogoutRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Response PDUs received by this session."
::= { iscsiSessionRxCmdStatsEntry 7 }

iscsiSsnRxR2TPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Ready To Transfer (R2T) PDUs received by this session."
::= { iscsiSessionRxCmdStatsEntry 8 }

iscsiSsnRxAsyncPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Asynchronous Message PDUs received by this session."
::= { iscsiSessionRxCmdStatsEntry 9 }

iscsiSsnRxRejectPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs received by this session."
::= { iscsiSessionRxCmdStatsEntry 10 }

iscsiSessionTxRspStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionTxRspStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
         "A list of counters of response PDUs transmitted by each
      Session instance belonging to this iSCSI instance present
      on this system."
::= { iscsiSessionInfo 8 }

iscsiSessionTxRspStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionTxRspStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of response PDUs transmitted
        by a particular Session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionTxRspStatsTable 1 }

IscsiSessionTxRspStatsEntry ::= SEQUENCE {
    iscsiSsnTxNopInPdus            Counter32,
    iscsiSsnTxScsiRspPdus          Counter32,
    iscsiSsnTxScsiTaskMgmtRspPdus  Counter32,
    iscsiSsnTxLoginRspPdus         Counter32,
    iscsiSsnTxTextRspPdus          Counter32,
    iscsiSsnTxScsiDataReadPdus     Counter32,
    iscsiSsnTxLogoutRspPdus        Counter32,
    iscsiSsnTxR2TPdus              Counter32,
    iscsiSsnTxAsyncPdus            Counter32,
    iscsiSsnTxRejectPdus           Counter32
}

iscsiSsnTxNopInPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of NOP-In PDUs transmitted by this session."
::= { iscsiSessionTxRspStatsEntry 1 }

iscsiSsnTxScsiRspPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Response PDUs transmitted by this session."
::= { iscsiSessionTxRspStatsEntry 2 }

iscsiSsnTxScsiTaskMgmtRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Task Management Response PDUs
     transmitted by this session."
::= { iscsiSessionTxRspStatsEntry 3 }

iscsiSsnTxLoginRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Login Response PDUs transmitted by this session."
::= { iscsiSessionTxRspStatsEntry 4 }

iscsiSsnTxTextRspPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Text Response PDUs transmitted by this session."
::= { iscsiSessionTxRspStatsEntry 5 }

iscsiSsnTxScsiDataReadPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Data PDUs transmitted by this session in
     reply to a READ command."
::= { iscsiSessionTxRspStatsEntry 6 }

iscsiSsnTxLogoutRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Response PDUs transmitted by this session."

::= { iscsiSessionTxRspStatsEntry 7 }

iscsiSsnTxR2TPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Ready To Transfer (R2T) PDUs transmitted by this session."
::= { iscsiSessionTxRspStatsEntry 8 }

iscsiSsnTxAsyncPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Asynchronous Message PDUs transmitted by this session."
::= { iscsiSessionTxRspStatsEntry 9 }

iscsiSsnTxRejectPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs transmitted by this session."
::= { iscsiSessionTxRspStatsEntry 10 }

iscsiSessionRxRspStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionRxRspStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of counters of command PDUs received by each
        Session instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionInfo 9 }

iscsiSessionRxRspStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionRxRspStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of command PDUs received
        by a particular target instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionRxRspStatsTable 1 }

IscsiSessionRxRspStatsEntry ::= SEQUENCE {
    iscsiSsnRxNopOutPdus           Counter32,
    iscsiSsnRxScsiCmdPdus          Counter32,
    iscsiSsnRxScsiTaskMgmtCmdPdus  Counter32,
    iscsiSsnRxLoginCmdPdus         Counter32,
    iscsiSsnRxTextCmdPdus          Counter32,
    iscsiSsnRxScsiDataWritePdus    Counter32,
    iscsiSsnRxLogoutCmdPdus        Counter32,
    iscsiSsnRxSnackReqPdus         Counter32
}

iscsiSsnRxNopOutPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of NOP-Out PDUs received by this session."
::= { iscsiSessionRxRspStatsEntry 1 }

iscsiSsnRxScsiCmdPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SCSI Command PDUs received by this session."
::= { iscsiSessionRxRspStatsEntry 2 }

iscsiSsnRxScsiTaskMgmtCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Task Management Command PDUs
     received by this session."
::= { iscsiSessionRxRspStatsEntry 3 }

iscsiSsnRxLoginCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Command PDUs received by this session."
::= { iscsiSessionRxRspStatsEntry 4 }

iscsiSsnRxTextCmdPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Text Command PDUs received by this session."

::= { iscsiSessionRxRspStatsEntry 5 }

iscsiSsnRxScsiDataWritePdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SCSI Data PDUs received by this session in
     reply to a WRITE command."
::= { iscsiSessionRxRspStatsEntry 6 }

iscsiSsnRxLogoutCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Command PDUs received by this session."
::= { iscsiSessionRxRspStatsEntry 7 }

iscsiSsnRxSnackReqPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SNACK Request PDUs received by this session."
::= { iscsiSessionRxRspStatsEntry 8 }

iscsiSessionTxStatusStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionTxStatusStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "When a target receives a Login command, it responds
        with a Login Response that carries a status code.
        This table contains a list of counters of Login Response
        PDUs of each status code, that were transmitted by each
        Session instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionInfo 10 }

iscsiSessionTxStatusStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionTxStatusStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Login Response
        PDUs of each status code, that were transmitted by
        a particular Session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionTxStatusStatsTable 1 }

IscsiSessionTxStatusStatsEntry ::= SEQUENCE {
    iscsiSsnTxStsAccepts           Counter32,
    iscsiSsnTxStsAuthenticates     Counter32,
    iscsiSsnTxStsNameRequireds     Counter32,
    iscsiSsnTxStsMoveTemps         Counter32,
    iscsiSsnTxStsMovePerms         Counter32,
    iscsiSsnTxStsProxyRequireds    Counter32,
    iscsiSsnTxStsAuthFails         Counter32,
    iscsiSsnTxStsForbiddens        Counter32,
    iscsiSsnTxStsNotFounds         Counter32,
    iscsiSsnTxStsRemoveds          Counter32,
    iscsiSsnTxStsConflicts         Counter32,
    iscsiSsnTxStsIsidErrors        Counter32,
    iscsiSsnTxStsTargetErrors      Counter32,
    iscsiSsnTxStsUnavailables      Counter32,
    iscsiSsnTxStsInvalidVersions   Counter32
}

iscsiSsnTxStsAccepts OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0000, Accept Login,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 1 }

iscsiSsnTxStsAuthenticates OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0001, Authenticate,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 2 }

iscsiSsnTxStsNameRequireds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0002, Target Name Required,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 3 }

iscsiSsnTxStsMoveTemps OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0101, Target Moved Temporarily,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 4 }

iscsiSsnTxStsMovePerms OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0102, Target Moved Permanently,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 5 }

iscsiSsnTxStsProxyRequireds OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0103, Proxy Required,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 6 }

iscsiSsnTxStsAuthFails OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0201, Authentication Failed,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 7 }

iscsiSsnTxStsForbiddens OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0202, Forbidden Target,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 8 }

iscsiSsnTxStsNotFounds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0203, Not Found,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 9 }

iscsiSsnTxStsRemoveds OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0204, Target Removed,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 10 }

iscsiSsnTxStsConflicts OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0205, Target Conflict,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 11 }

iscsiSsnTxStsIsidErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0206, Initiator SID Error,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 12 }

iscsiSsnTxStsTargetErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0300, Target Error,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 13 }

iscsiSsnTxStsUnavailables OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0301, Service Unavailable,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 14 }

iscsiSsnTxStsInvalidVersions OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0302, Unsupported Version,
     transmitted by this session."
::= { iscsiSessionTxStatusStatsEntry 15 }

iscsiSessionTxRejectStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionTxRejectStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "When a target receives a message with a format error
        or a digest error, it responds by sending a Reject PDU
        which carries the header of the message in error, as
        well as a reject Reason code which describes the error.
        This table contains a list of counters of Reject PDUs
        of each Reason code, that were transmitted by each
        session instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionInfo 11 }

iscsiSessionTxRejectStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionTxRejectStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Reject PDUs
        of each reject Reason code, that were transmitted by
        a particular Session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionTxRejectStatsTable 1 }

IscsiSessionTxRejectStatsEntry ::= SEQUENCE {
    iscsiSsnTxRjtFormats           Counter32,
    iscsiSsnTxRjtHdrDigests        Counter32,
    iscsiSsnTxRjtDataDigests       Counter32,
    iscsiSsnTxRjtDataSnacks        Counter32,
    iscsiSsnTxRjtRestarts          Counter32,
    iscsiSsnTxRjtFullFeatures      Counter32
}

iscsiSsnTxRjtFormats OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     1, Format Error, transmitted by this session."
::= { iscsiSessionTxRejectStatsEntry 1 }

iscsiSsnTxRjtHdrDigests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     2, Header Digest Error, transmitted by this session."
::= { iscsiSessionTxRejectStatsEntry 2 }

iscsiSsnTxRjtDataDigests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     3, Payload Digest Error, transmitted by this session."
::= { iscsiSessionTxRejectStatsEntry 3 }

iscsiSsnTxRjtDataSnacks OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     4, Data-SACK Reject, transmitted by this session."

::= { iscsiSessionTxRejectStatsEntry 4 }

iscsiSsnTxRjtRestarts OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     5, Command Retry Reject, transmitted by this session."
::= { iscsiSessionTxRejectStatsEntry 5 }

iscsiSsnTxRjtFullFeatures OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     15, Full Feature Phase Reject, transmitted by this session."
::= { iscsiSessionTxRejectStatsEntry 6 }

iscsiSessionTxLogoutStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionTxLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An initiator sends a Logout PDU to a target to perform
        a controlled closing of a connection.  The Logout PDU
        carries a Reason code, indicating the reason for the Logout.
        This table contains a list of counters of Logout PDUs
        of each Reason code, that were trasmitted by each
        session instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionInfo 12 }

iscsiSessionTxLogoutStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionTxLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Logout PDUs
        of each Reason code, that were transmitted by
        a particular session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionTxLogoutStatsTable 1 }

IscsiSessionTxLogoutStatsEntry ::= SEQUENCE {
    iscsiSsnTxLgtSessionCloses     Counter32,
    iscsiSsnTxLgtCxnRecoveries     Counter32,
    iscsiSsnTxLgtTargetRequests    Counter32
}

iscsiSsnTxLgtSessionCloses OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout PDUs with Reason code
     0, Close the session, transmitted by this session."
::= { iscsiSessionTxLogoutStatsEntry 1 }

iscsiSsnTxLgtCxnRecoveries OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout PDUs with Reason code
     1, Remove the connection for recovery,
     transmitted by this session."
::= { iscsiSessionTxLogoutStatsEntry 2 }

iscsiSsnTxLgtTargetRequests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Logout PDUs with Reason code
     2, Remove the connection at Target's request,
     transmitted by this session."
::= { iscsiSessionTxLogoutStatsEntry 3 }

iscsiSessionTxAsyncStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionTxAsyncStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A target sends an Asynchronous Message PDU to report an
        event that does not correspond to a particular command.
        Some events are strictly related to iSCSI, while others
        are related to SCSI.  The Asynchronous Message PDUs includes
        an Event code to describe the iSCSI event.  This table
        contains a list of counters of Asynchronous Message PDUs
        of each iSCSI Event code, that were transmitted by each
        session instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionInfo 13 }

iscsiSessionTxAsyncStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionTxAsyncStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Asynchronous Message
        PDUs of each iSCSI Event code that were transmitted by
        a particular session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionTxAsyncStatsTable 1 }

IscsiSessionTxAsyncStatsEntry ::= SEQUENCE {
    iscsiSsnTxAsyTargetResets      Counter32,
    iscsiSsnTxAsyLogoutRequests    Counter32,
    iscsiSsnTxAsyCxnDrops          Counter32
}

iscsiSsnTxAsyTargetResets OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     1, Target is being reset, transmitted by this session."
::= { iscsiSessionTxAsyncStatsEntry 1 }

iscsiSsnTxAsyLogoutRequests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     2, Target requests Logout, transmitted by this session."
::= { iscsiSessionTxAsyncStatsEntry 2 }

iscsiSsnTxAsyCxnDrops OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     2, Target indicates it will/has dropped the connection,
     transmitted by this session."
::= { iscsiSessionTxAsyncStatsEntry 3 }

iscsiSessionRxStatusStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionRxStatusStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "When an initiator attempts send a Login command, the target
        responds with a Login Response that carries a status code.
        This table contains a list of counters of Login Response
        PDUs of each status code, that were received by each
        session instance belonging to this iSCSI instance present
        on this system."
::= { iscsiSessionInfo 14 }

iscsiSessionRxStatusStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionRxStatusStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Login Response
        PDUs of each status code, that were received by
        a particular session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionRxStatusStatsTable 1 }

IscsiSessionRxStatusStatsEntry ::= SEQUENCE {
    iscsiSsnRxStsAccepts           Counter32,
    iscsiSsnRxStsAuthenticates     Counter32,
    iscsiSsnRxStsNameRequireds     Counter32,
    iscsiSsnRxStsMoveTemps         Counter32,
    iscsiSsnRxStsMovePerms         Counter32,
    iscsiSsnRxStsProxyRequireds    Counter32,
    iscsiSsnRxStsAuthFails         Counter32,
    iscsiSsnRxStsForbiddens        Counter32,
    iscsiSsnRxStsNotFounds         Counter32,
    iscsiSsnRxStsRemoveds          Counter32,
    iscsiSsnRxStsConflicts         Counter32,
    iscsiSsnRxStsIsidErrors        Counter32,
    iscsiSsnRxStsTargetErrors      Counter32,
    iscsiSsnRxStsUnavailables      Counter32,
    iscsiSsnRxStsInvalidVersions   Counter32
}

iscsiSsnRxStsAccepts OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0000, Accept Login,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 1 }

iscsiSsnRxStsAuthenticates OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0001, Authenticate,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 2 }

iscsiSsnRxStsNameRequireds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0002, Target Name Required,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 3 }

iscsiSsnRxStsMoveTemps OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0101, Target Moved Temporarily,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 4 }

iscsiSsnRxStsMovePerms OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0102, Target Moved Permanently,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 5 }

iscsiSsnRxStsProxyRequireds OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0103, Proxy Required,
     received by this session."

::= { iscsiSessionRxStatusStatsEntry 6 }

iscsiSsnRxStsAuthFails OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0201, Authentication Failed,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 7 }

iscsiSsnRxStsForbiddens OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0202, Forbidden Target,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 8 }

iscsiSsnRxStsNotFounds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0203, Not Found,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 9 }

iscsiSsnRxStsRemoveds OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0204, Target Removed,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 10 }

iscsiSsnRxStsConflicts OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0205, Target Conflict,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 11 }

iscsiSsnRxStsIsidErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0206, initiator SID Error,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 12 }

iscsiSsnRxStsTargetErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0300, Target Error,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 13 }

iscsiSsnRxStsUnavailables OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0301, Service Unavailable,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 14 }

iscsiSsnRxStsInvalidVersions OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0302, Unsupported Version,
     received by this session."
::= { iscsiSessionRxStatusStatsEntry 15 }

iscsiSessionRxRejectStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionRxRejectStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An Initiator receives a Reject PDU from the target when the target
         cannot proceed with the task requested by the initiator because of
         a format error, a digest error, and other errors. A Reject PDU contains
         a reject Reason code which describes the error. This table contains a
         list of counters of Reject PDUs of each Reason code, that were
         received by each session instance belonging to this iSCSI instance
         present on the system."
::= { iscsiSessionInfo 15 }

iscsiSessionRxRejectStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionRxRejectStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Reject PDUs
        of each reject Reason code, that were received by
        a particular session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionRxRejectStatsTable 1 }

IscsiSessionRxRejectStatsEntry ::= SEQUENCE {
    iscsiSsnRxRjtFormats           Counter32,
    iscsiSsnRxRjtHdrDigests        Counter32,
    iscsiSsnRxRjtDataDigests       Counter32,
    iscsiSsnRxRjtDataSnacks        Counter32,
    iscsiSsnRxRjtRestarts          Counter32,
    iscsiSsnRxRjtFullFeatures      Counter32
}

iscsiSsnRxRjtFormats OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     1, Format Error, received by this session."
::= { iscsiSessionRxRejectStatsEntry 1 }

iscsiSsnRxRjtHdrDigests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     2, Header Digest Error, received by this session."
::= { iscsiSessionRxRejectStatsEntry 2 }

iscsiSsnRxRjtDataDigests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     3, Payload Digest Error, received by this session."
::= { iscsiSessionRxRejectStatsEntry 3 }

iscsiSsnRxRjtDataSnacks OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     4, Data-SACK Reject, received by this session."
::= { iscsiSessionRxRejectStatsEntry 4 }

iscsiSsnRxRjtRestarts OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     5, Command Retry Reject, received by this session."
::= { iscsiSessionRxRejectStatsEntry 5 }

iscsiSsnRxRjtFullFeatures OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     15, Full Feature Phase Reject, received by this session."
::= { iscsiSessionRxRejectStatsEntry 6 }

iscsiSessionRxLogoutStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionRxLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An initiator sends a Logout PDU to a target to perform
        a controlled closing of a connection.  The Logout PDU
        carries a Reason code, indicating the reason for the Logout.
        This table contains a list of counters of Logout PDUs
        of each Reason code, that were received by each
        session instance belonging to this iSCSI instance present
        on this system."

::= { iscsiSessionInfo 16 }

iscsiSessionRxLogoutStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionRxLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Logout PDUs
        of each Reason code, that were received by
        a particular session instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionRxLogoutStatsTable 1 }

IscsiSessionRxLogoutStatsEntry ::= SEQUENCE {
    iscsiSsnRxLgtSessionCloses     Counter32,
    iscsiSsnRxLgtCxnRecoveries     Counter32,
    iscsiSsnRxLgtTargetRequests    Counter32
}

iscsiSsnRxLgtSessionCloses OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout PDUs with Reason code
     0, Close the session, received by this session."
::= { iscsiSessionRxLogoutStatsEntry 1 }

iscsiSsnRxLgtCxnRecoveries OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout PDUs with Reason code
     1, Remove the connection for recovery,
     received by this session."
::= { iscsiSessionRxLogoutStatsEntry 2 }

iscsiSsnRxLgtTargetRequests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Logout PDUs with Reason code
     2, Remove the connection at target's request,
     received by this session."
::= { iscsiSessionRxLogoutStatsEntry 3 }

iscsiSessionRxAsyncStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiSessionRxAsyncStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An initiator receives an Asynchronous Message PDU from a target to
         report an event that does not correspond to a particular command.
         Some events are strictly related to iSCSI, while others are related to
         SCSI.  The Asynchronous Message PDU includes an Event code to describe
         the iSCSI event.  This table contains a list of counters of
         Asynchronous Message PDUs of each iSCSI Event code, that were received
         by each session instance belonging to this iSCSI instance present on
         the system."
::= { iscsiSessionInfo 17 }

iscsiSessionRxAsyncStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiSessionRxAsyncStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Asynchronous Message PDUs of each
         iSCSI Event code that were received by a particular session
         instance."
    AUGMENTS { iscsiSessionAttributesEntry }
::= { iscsiSessionRxAsyncStatsTable 1 }

IscsiSessionRxAsyncStatsEntry ::= SEQUENCE {
    iscsiSsnRxAsyTargetResets      Counter32,
    iscsiSsnRxAsyLogoutRequests    Counter32,
    iscsiSsnRxAsyCxnDrops          Counter32
}

iscsiSsnRxAsyTargetResets OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     1, Target is being reset, received by this session."
::= { iscsiSessionRxAsyncStatsEntry 1 }

iscsiSsnRxAsyLogoutRequests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     2, Target requests Logout, received by this session."

::= { iscsiSessionRxAsyncStatsEntry 2 }

iscsiSsnRxAsyCxnDrops OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     2, Target indicates it will/has dropped the connection,
     received by this session."
::= { iscsiSessionRxAsyncStatsEntry 3 }

----------------------------------------------------------------------

iscsiConnectionInfo OBJECT IDENTIFIER ::= { iscsiSessionObjects 1 }

iscsiConnectionObjects OBJECT IDENTIFIER ::= { iscsiConnectionInfo 1 }
iscsiConnectionScalars OBJECT IDENTIFIER ::= { iscsiConnectionInfo 2 }

iscsiConnectionAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiConnectionAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of Connections belonging to each iSCSI instance
        present on the system."
::= { iscsiConnectionInfo 3 }

iscsiConnectionAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiConnectionAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing managment information applicable
        to a particular Connection instance."
    INDEX { iscsiInstIndex, iscsiSsnIndex, iscsiCxnIndex }
::= { iscsiConnectionAttributesTable 1 }

IscsiConnectionAttributesEntry ::= SEQUENCE {
    iscsiCxnIndex                  Unsigned32,
    iscsiCxnState                  INTEGER,
    iscsiCxnProtocol               INTEGER,
    iscsiCxnLocalIpAddress         IpAddress,
    iscsiCxnLocalTcpPort           Unsigned32,
    iscsiCxnRemoteIpAddress        IpAddress,
    iscsiCxnRemoteTcpPort          Unsigned32
}

iscsiCxnIndex OBJECT-TYPE
    SYNTAX                       Unsigned32 (1..4294967295)
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
     "An arbitrary integer used to uniquely identify a particular
     Connection instance of a particular Session instance within an
     iSCSI instance present on the node."
::= { iscsiConnectionAttributesEntry 1 }

iscsiCxnState OBJECT-TYPE
    SYNTAX                       INTEGER { oneKind(0), anotherKind(2) }
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
::= { iscsiConnectionAttributesEntry 2 }

iscsiCxnProtocol OBJECT-TYPE
    SYNTAX                       INTEGER (1..255)
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The protocol over which this connection instance is
     running."
    DEFVAL                         { 6 } -- TCP
::= { iscsiConnectionAttributesEntry 3 }

iscsiCxnLocalIpAddress OBJECT-TYPE
    SYNTAX                  IpAddress
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The Local IP address used by this connection instance."
::= { iscsiConnectionAttributesEntry 4 }

iscsiCxnLocalTcpPort OBJECT-TYPE
    SYNTAX                       Unsigned32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The Local (TCP) port used by this connection instance."
::= { iscsiConnectionAttributesEntry 5 }

iscsiCxnRemoteIpAddress OBJECT-TYPE
    SYNTAX                  IpAddress
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The Remote IP address used by this connection instance."
::= { iscsiConnectionAttributesEntry 6 }

iscsiCxnRemoteTcpPort OBJECT-TYPE
    SYNTAX                       Unsigned32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The Remote (TCP) port used by this connection instance."
::= { iscsiConnectionAttributesEntry 7 }

----------------------------------------------------------------------

iscsiTargetInfo OBJECT IDENTIFIER ::= { iscsiInstanceObjects 3 }

iscsiTargetObjects OBJECT IDENTIFIER ::= { iscsiTargetInfo 1 }
iscsiTargetScalars OBJECT IDENTIFIER ::= { iscsiTargetInfo 2 }

iscsiTargetAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of targets belonging to each iSCSI instance
        present on the system."
::= { iscsiTargetInfo 3 }

iscsiTargetAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing managment information applicable
        to a particular target instance."
    INDEX { iscsiInstIndex, iscsiTgtIndex }
::= { iscsiTargetAttributesTable 1 }

IscsiTargetAttributesEntry ::= SEQUENCE {
    iscsiTgtIndex                  Unsigned32,
    iscsiTgtName                   Utf8String,
    iscsiTgtAlias                  Utf8String,
    iscsiTgtScsiAttributes         RowPointer
}

iscsiTgtIndex OBJECT-TYPE
    SYNTAX                       Unsigned32 (1..4294967295)
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
     "An arbitrary integer used to uniquely identify a particular
     target instance within an iSCSI instance present on the node."
::= { iscsiTargetAttributesEntry 1 }

iscsiTgtName OBJECT-TYPE
    SYNTAX                       Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "A UTF-8 string which can be resolved by a DNS into
     an IP address for the target node."
::= { iscsiTargetAttributesEntry 2 }

iscsiTgtAlias OBJECT-TYPE
    SYNTAX                       Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "A human-readable name or description of the target.  If configured,
     this alias may be communicated to the initiator during a Login Response
     message. This field may also be returned in the response to the
     SendTargets text command. This string is not used as an identifier, but
     can be displayed by the initiator's user interface in a list of targets
     to which it is connected. "
::= { iscsiTargetAttributesEntry 3 }

iscsiTgtScsiAttributes OBJECT-TYPE
    SYNTAX                  RowPointer
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
    "."
::= { iscsiTargetAttributesEntry 4 }

iscsiTargetStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of iSCSI command/response PDU and octet data
     transfer counters for each of the target instances
     belonging to this iSCSI instance present on this system."
::= { iscsiTargetInfo 4 }

iscsiTargetStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing iSCSI command/response PDU and octet data
         transfer counters for a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetStatsTable 1 }

IscsiTargetStatsEntry ::= SEQUENCE {
    iscsiTgtTxRspPdus              Counter32,
    iscsiTgtRxCmdPdus              Counter32,
    iscsiTgtTxDataOctets           Counter64,
    iscsiTgtRxDataOctets           Counter64
}

iscsiTgtTxRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Response PDUs that were transmitted by this target."
::= { iscsiTargetStatsEntry 1 }

iscsiTgtRxCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Command PDUs that were received by this target."
::= { iscsiTargetStatsEntry 2 }

iscsiTgtTxDataOctets OBJECT-TYPE
    SYNTAX                       Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of data octets that were transmitted by this target."
::= { iscsiTargetStatsEntry 3 }

iscsiTgtRxDataOctets OBJECT-TYPE
    SYNTAX                       Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of data octets that were received by this target."
::= { iscsiTargetStatsEntry 4 }

iscsiTargetCxnErrorStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetCxnErrorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of PDU or timeout connection error counters for
     each of the target instances present on this system."
::= { iscsiTargetInfo 5 }

iscsiTargetCxnErrorStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetCxnErrorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing PDU or time-out connection error
     counters for a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetCxnErrorStatsTable 1 }

IscsiTargetCxnErrorStatsEntry ::= SEQUENCE {
    iscsiTgtHdrDigestErrors        Counter32,
    iscsiTgtDataDigestErrors       Counter32,
    iscsiTgtCxnTimeoutErrors       Counter32,
    iscsiTgtFormatErrors           Counter32
}

iscsiTgtHdrDigestErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the target received which contained
     header digest errors."
::= { iscsiTargetCxnErrorStatsEntry 1 }

iscsiTgtDataDigestErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the target received which contained
     data digest errors."
::= { iscsiTargetCxnErrorStatsEntry 2 }

iscsiTgtCxnTimeoutErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "A target may set a time limit for completion of a SCSI command
     sequence.  This is the count of sequences which exceeded their
     time limit, causing the target to take some recovery action."
::= { iscsiTargetCxnErrorStatsEntry 3 }

iscsiTgtFormatErrors OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the target received which contained
     a framing error."
::= { iscsiTargetCxnErrorStatsEntry 4 }

iscsiTargetTxRspStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetTxRspStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of counters of response PDUs transmitted by each
        target instance belonging to this iSCSI instance present
        on this system."
::= { iscsiTargetInfo 6 }

iscsiTargetTxRspStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetTxRspStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of response PDUs transmitted
        by a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetTxRspStatsTable 1 }

IscsiTargetTxRspStatsEntry ::= SEQUENCE {
    iscsiTgtTxNopInPdus            Counter32,
    iscsiTgtTxScsiRspPdus          Counter32,
    iscsiTgtTxScsiTaskMgmtRspPdus  Counter32,
    iscsiTgtTxLoginRspPdus         Counter32,
    iscsiTgtTxTextRspPdus          Counter32,
    iscsiTgtTxScsiDataReadPdus     Counter32,
    iscsiTgtTxLogoutRspPdus        Counter32,
    iscsiTgtTxR2TPdus              Counter32,
    iscsiTgtTxAsyncPdus            Counter32,
    iscsiTgtTxRejectPdus           Counter32
}

iscsiTgtTxNopInPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of NOP-In PDUs transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 1 }

iscsiTgtTxScsiRspPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Response PDUs transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 2 }

iscsiTgtTxScsiTaskMgmtRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Task Management Response PDUs
     transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 3 }

iscsiTgtTxLoginRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Login Response PDUs transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 4 }

iscsiTgtTxTextRspPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Text Response PDUs transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 5 }

iscsiTgtTxScsiDataReadPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Data PDUs transmitted by this target in
     reply to a READ command."
::= { iscsiTargetTxRspStatsEntry 6 }

iscsiTgtTxLogoutRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Response PDUs transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 7 }

iscsiTgtTxR2TPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Ready To Transfer (R2T) PDUs transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 8 }

iscsiTgtTxAsyncPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Asynchronous Message PDUs transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 9 }

iscsiTgtTxRejectPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs transmitted by this target."
::= { iscsiTargetTxRspStatsEntry 10 }

iscsiTargetRxCmdStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetRxCmdStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of counters of command PDUs received by each
        target instance belonging to this iSCSI instance present
        on this system."
::= { iscsiTargetInfo 7 }

iscsiTargetRxCmdStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetRxCmdStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of command PDUs received
        by a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetRxCmdStatsTable 1 }

IscsiTargetRxCmdStatsEntry ::= SEQUENCE {
    iscsiTgtRxNopOutPdus           Counter32,
    iscsiTgtRxScsiCmdPdus          Counter32,
    iscsiTgtRxScsiTaskMgmtCmdPdus  Counter32,
    iscsiTgtRxLoginCmdPdus         Counter32,
    iscsiTgtRxTextCmdPdus          Counter32,
    iscsiTgtRxScsiDataWritePdus    Counter32,
    iscsiTgtRxLogoutCmdPdus        Counter32,
    iscsiTgtRxSnackReqPdus         Counter32
}

iscsiTgtRxNopOutPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of NOP-Out PDUs received by this target."
::= { iscsiTargetRxCmdStatsEntry 1 }

iscsiTgtRxScsiCmdPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SCSI Command PDUs received by this target."
::= { iscsiTargetRxCmdStatsEntry 2 }

iscsiTgtRxScsiTaskMgmtCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Task Management Command PDUs
     received by this target."
::= { iscsiTargetRxCmdStatsEntry 3 }

iscsiTgtRxLoginCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Command PDUs received by this target."
::= { iscsiTargetRxCmdStatsEntry 4 }

iscsiTgtRxTextCmdPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Text Command PDUs received by this target."
::= { iscsiTargetRxCmdStatsEntry 5 }

iscsiTgtRxScsiDataWritePdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SCSI Data PDUs received by this target in
     reply to a WRITE command."
::= { iscsiTargetRxCmdStatsEntry 6 }

iscsiTgtRxLogoutCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Command PDUs received by this target."
::= { iscsiTargetRxCmdStatsEntry 7 }

iscsiTgtRxSnackReqPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SNACK Request PDUs received by this target."
::= { iscsiTargetRxCmdStatsEntry 8 }

iscsiTargetTxStatusStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetTxStatusStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "When a target receives a Login command, it responds
        with a Login Response that carries a status code.
        This table contains a list of counters of Login Response
        PDUs of each status code, that were transmitted by each
        target instance belonging to this iSCSI instance present
        on this system."
::= { iscsiTargetInfo 8 }

iscsiTargetTxStatusStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetTxStatusStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Login Response
        PDUs of each status code, that were transmitted by
        a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetTxStatusStatsTable 1 }

IscsiTargetTxStatusStatsEntry ::= SEQUENCE {
    iscsiTgtTxStsAccepts           Counter32,
    iscsiTgtTxStsAuthenticates     Counter32,
    iscsiTgtTxStsNameRequireds     Counter32,
    iscsiTgtTxStsMoveTemps         Counter32,
    iscsiTgtTxStsMovePerms         Counter32,
    iscsiTgtTxStsProxyRequireds    Counter32,
    iscsiTgtTxStsAuthFails         Counter32,
    iscsiTgtTxStsForbiddens        Counter32,
    iscsiTgtTxStsNotFounds         Counter32,
    iscsiTgtTxStsRemoveds          Counter32,
    iscsiTgtTxStsConflicts         Counter32,
    iscsiTgtTxStsIsidErrors        Counter32,
    iscsiTgtTxStsTargetErrors      Counter32,
    iscsiTgtTxStsUnavailables      Counter32,
    iscsiTgtTxStsInvalidVersions   Counter32
}

iscsiTgtTxStsAccepts OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0000, Accept Login,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 1 }

iscsiTgtTxStsAuthenticates OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0001, Authenticate,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 2 }

iscsiTgtTxStsNameRequireds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0002, Target Name Required,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 3 }

iscsiTgtTxStsMoveTemps OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0101, Target Moved Temporarily,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 4 }

iscsiTgtTxStsMovePerms OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0102, Target Moved Permanently,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 5 }

iscsiTgtTxStsProxyRequireds OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0103, Proxy Required,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 6 }

iscsiTgtTxStsAuthFails OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0201, Authentication Failed,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 7 }

iscsiTgtTxStsForbiddens OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0202, Forbidden Target,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 8 }

iscsiTgtTxStsNotFounds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0203, Not Found,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 9 }

iscsiTgtTxStsRemoveds OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0204, Target Removed,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 10 }

iscsiTgtTxStsConflicts OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0205, Target Conflict,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 11 }

iscsiTgtTxStsIsidErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0206, Initiator SID Error,
     transmitted by this target."

::= { iscsiTargetTxStatusStatsEntry 12 }

iscsiTgtTxStsTargetErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0300, Target Error,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 13 }

iscsiTgtTxStsUnavailables OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0301, Service Unavailable,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 14 }

iscsiTgtTxStsInvalidVersions OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0302, Unsupported Version,
     transmitted by this target."
::= { iscsiTargetTxStatusStatsEntry 15 }

iscsiTargetTxRejectStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetTxRejectStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "When a target receives a message with a format error
        or a digest error, it responds by sending a Reject PDU
        which carries the header of the message in error, as
        well as a reject Reason code which describes the error.
        This table contains a list of counters of Reject PDUs
        of each Reason code, that were transmitted by each
        target instance belonging to this iSCSI instance present
        on this system."
::= { iscsiTargetInfo 9 }

iscsiTargetTxRejectStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetTxRejectStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Reject PDUs
        of each reject Reason code, that were transmitted by
        a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetTxRejectStatsTable 1 }

IscsiTargetTxRejectStatsEntry ::= SEQUENCE {
    iscsiTgtTxRjtFormats           Counter32,
    iscsiTgtTxRjtHdrDigests        Counter32,
    iscsiTgtTxRjtDataDigests       Counter32,
    iscsiTgtTxRjtDataSnacks        Counter32,
    iscsiTgtTxRjtRestarts          Counter32,
    iscsiTgtTxRjtFullFeatures      Counter32
}

iscsiTgtTxRjtFormats OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     1, Format Error, transmitted by this target."
::= { iscsiTargetTxRejectStatsEntry 1 }

iscsiTgtTxRjtHdrDigests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     2, Header Digest Error, transmitted by this target."
::= { iscsiTargetTxRejectStatsEntry 2 }

iscsiTgtTxRjtDataDigests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     3, Payload Digest Error, transmitted by this target."
::= { iscsiTargetTxRejectStatsEntry 3 }

iscsiTgtTxRjtDataSnacks OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     4, Data-SACK Reject, transmitted by this target."
::= { iscsiTargetTxRejectStatsEntry 4 }

iscsiTgtTxRjtRestarts OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     5, Command Retry Reject, transmitted by this target."
::= { iscsiTargetTxRejectStatsEntry 5 }

iscsiTgtTxRjtFullFeatures OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     15, Full Feature Phase Reject, transmitted by this target."
::= { iscsiTargetTxRejectStatsEntry 6 }

iscsiTargetRxLogoutStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetRxLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An initiator sends a Logout PDU to a target to perform
        a controlled closing of a connection.  The Logout PDU
        carries a Reason code, indicating the reason for the Logout.
        This table contains a list of counters of Logout PDUs
        of each Reason code, that were received by each
        target instance belonging to this iSCSI instance present
        on this system."
::= { iscsiTargetInfo 10 }

iscsiTargetRxLogoutStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetRxLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Logout PDUs
        of each Reason code, that were received by
        a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }

::= { iscsiTargetRxLogoutStatsTable 1 }

IscsiTargetRxLogoutStatsEntry ::= SEQUENCE {
    iscsiTgtRxLgtSessionCloses     Counter32,
    iscsiTgtRxLgtCxnRecoveries     Counter32,
    iscsiTgtRxLgtTargetRequests    Counter32
}

iscsiTgtRxLgtSessionCloses OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout PDUs with Reason code
     0, Close the session, received by this target."
::= { iscsiTargetRxLogoutStatsEntry 1 }

iscsiTgtRxLgtCxnRecoveries OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout PDUs with Reason code
     1, Remove the connection for recovery,
     received by this target."
::= { iscsiTargetRxLogoutStatsEntry 2 }

iscsiTgtRxLgtTargetRequests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Logout PDUs with Reason code
     2, Remove the connection at target's request,
     received by this target."
::= { iscsiTargetRxLogoutStatsEntry 3 }

iscsiTargetTxAsyncStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiTargetTxAsyncStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A target sends an Asynchronous Message PDU to report an
        event that does not correspond to a particular command.
        Some events are strictly related to iSCSI, while others
        are related to SCSI.  The Asynchronous Message PDUs includes
        an Event code to describe the iSCSI event.  This table
        contains a list of counters of Asynchronous Message PDUs
        of each iSCSI Event code, that were transmitted by each
        target instance belonging to this iSCSI instance present
        on this system."
::= { iscsiTargetInfo 11 }

iscsiTargetTxAsyncStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiTargetTxAsyncStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Asynchronous Message
        PDUs of each iSCSI Event code that were transmitted by
        a particular target instance."
    AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetTxAsyncStatsTable 1 }

IscsiTargetTxAsyncStatsEntry ::= SEQUENCE {
    iscsiTgtTxAsyTargetResets      Counter32,
    iscsiTgtTxAsyLogoutRequests    Counter32,
    iscsiTgtTxAsyCxnDrops          Counter32
}

iscsiTgtTxAsyTargetResets OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     1, Target is being reset, transmitted by this target."
::= { iscsiTargetTxAsyncStatsEntry 1 }

iscsiTgtTxAsyLogoutRequests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     2, Target requests Logout, transmitted by this target."
::= { iscsiTargetTxAsyncStatsEntry 2 }

iscsiTgtTxAsyCxnDrops OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     2, Target indicates it will/has dropped the connection,
     transmitted by this target."

::= { iscsiTargetTxAsyncStatsEntry 3 }

----------------------------------------------------------------------

iscsiAccessListInfo OBJECT IDENTIFIER ::= { iscsiTargetObjects 2 }

iscsiAccessListObjects OBJECT IDENTIFIER ::= { iscsiAccessListInfo 1 }
iscsiAccessListScalars OBJECT IDENTIFIER ::= { iscsiAccessListInfo 2 }

iscsiAccessListAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiAccessListAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of iSCSI initiators which will be granted access
     to iSCSI resources through targets within the iSCSI
     instance."
::= { iscsiAccessListInfo 3 }

iscsiAccessListAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiAccessListAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing management information
         applicable to an initiator which is known by a target
         within an iSCSI instance on this node."
    INDEX { iscsiInstIndex, iscsiTgtIndex, iscsiALIndex }
::= { iscsiAccessListAttributesTable  1 }

IscsiAccessListAttributesEntry ::= SEQUENCE {
    iscsiALIndex                   Unsigned32,
    iscsiALInitiatorName           Utf8String
}

iscsiALIndex OBJECT-TYPE
    SYNTAX                       Unsigned32 (1..4294967295)
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
     "An arbitrary integer used to uniquely identify a particular
     Access List instance of a particular target instance within an
     iSCSI instance present on the node."
::= { iscsiAccessListAttributesEntry 1 }

iscsiALInitiatorName OBJECT-TYPE
    SYNTAX                       Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The globally unique name of the initiator, sent to the
     target in the <InitiatorWWUI> key of the Login Command."
::= { iscsiAccessListAttributesEntry 2 }

----------------------------------------------------------------------

iscsiInitiatorInfo OBJECT IDENTIFIER ::= { iscsiInstanceObjects 4 }

iscsiInitiatorObjects OBJECT IDENTIFIER ::= { iscsiInitiatorInfo 1 }
iscsiInitiatorScalars OBJECT IDENTIFIER ::= { iscsiInitiatorInfo 2 }

iscsiInitiatorAttributesTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of initiators belonging to each iSCSI instance
        present on the system."
::= { iscsiInitiatorInfo 3 }

iscsiInitiatorAttributesEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorAttributesEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing managment information applicable
        to a particular initiator instance."
    INDEX  { iscsiInstIndex, iscsiIntrIndex }
::= { iscsiInitiatorAttributesTable 1 }

IscsiInitiatorAttributesEntry ::= SEQUENCE {
    iscsiIntrIndex                 Unsigned32,
    iscsiIntrName                  Utf8String,
    iscsiIntrAlias                 Utf8String
}

iscsiIntrIndex OBJECT-TYPE
    SYNTAX                       Unsigned32 (1..4294967295)
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
     "An arbitrary integer used to uniquely identify a particular
     Initiator instance within an iSCSI instance present on the node."
::= { iscsiInitiatorAttributesEntry 1 }

iscsiIntrName OBJECT-TYPE
    SYNTAX                       Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "A text-based identifier for an Initiator that is globally unique. The
     Initiator Name is independent of the location of the initiator and its
     address could be resolved using SLP or a name service."
::= { iscsiInitiatorAttributesEntry 2 }

iscsiIntrAlias OBJECT-TYPE
    SYNTAX                       Utf8String
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "A human-readable name or description of the initiator. If
     configured, this initiator alias may be communicated to
     the target during a Login Request message. This string is
     not used as an identifier, but can be displayed by the
     target's user interface in a list of initiators to which it
     is connected."
::= { iscsiInitiatorAttributesEntry 3 }

iscsiInitiatorStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of iSCSI command/response PDU and octet data transfer counters
         for each of the Initiator instance belonging to this iSCSI instance
         present on the system."
::= { iscsiInitiatorInfo 4 }

iscsiInitiatorStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing iSCSI command/response PDU and octet data
         transfer counters for a particular Initiator instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorStatsTable 1 }

IscsiInitiatorStatsEntry ::= SEQUENCE {
    iscsiIntrTxCmdPdus             Counter32,
    iscsiIntrRxRspPdus             Counter32,
    iscsiIntrTxDataOctets          Counter64,
    iscsiIntrRxDataOctets          Counter64
}

iscsiIntrTxCmdPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Command PDUs that were transmitted by this initiator."
::= { iscsiInitiatorStatsEntry 1 }

iscsiIntrRxRspPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Response PDUs that were received by this initiator."
::= { iscsiInitiatorStatsEntry 2 }

iscsiIntrTxDataOctets OBJECT-TYPE
    SYNTAX                       Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of data octets that were transmitted by this initiator."
::= { iscsiInitiatorStatsEntry 3 }

iscsiIntrRxDataOctets OBJECT-TYPE
    SYNTAX                       Counter64
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of data octets that were received by this initiator."
::= { iscsiInitiatorStatsEntry 4 }

iscsiInitiatorCxnErrorStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorCxnErrorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of PDU or timeout connection error counters for
     each of the initiator instances present on this system."
::= { iscsiInitiatorInfo 5 }

iscsiInitiatorCxnErrorStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorCxnErrorStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing PDU or time-out connection error
     counters for a particular initiator instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorCxnErrorStatsTable 1 }

IscsiInitiatorCxnErrorStatsEntry ::= SEQUENCE {
    iscsiIntrHdrDigestErrors       Counter32,
    iscsiIntrDataDigestErrors      Counter32,
    iscsiIntrCxnTimeoutErrors      Counter32,
    iscsiIntrFormatErrors          Counter32
}

iscsiIntrHdrDigestErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the initiator received which contained
     header digest errors."
::= { iscsiInitiatorCxnErrorStatsEntry 1 }

iscsiIntrDataDigestErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the initiator received which contained
     data digest errors."
::= { iscsiInitiatorCxnErrorStatsEntry 2 }

iscsiIntrCxnTimeoutErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "A initiator may set a time limit for completion of a SCSI command
     sequence.  This is the count of sequences which exceeded their
     time limit, causing the initiator to take some recovery action."
::= { iscsiInitiatorCxnErrorStatsEntry 3 }

iscsiIntrFormatErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of PDUs which the initiator received which contained
     a framing error."
::= { iscsiInitiatorCxnErrorStatsEntry 4 }

iscsiInitiatorTxCmdStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorTxCmdStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of counters of command PDUs transmitted by each
        initiator instance belonging to this iSCSI instance present
        on this system."
::= { iscsiInitiatorInfo 6 }

iscsiInitiatorTxCmdStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorTxCmdStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of command PDUs transmitted
        by a particular initiator instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorTxCmdStatsTable 1 }

IscsiInitiatorTxCmdStatsEntry ::= SEQUENCE {
    iscsiIntrTxNopOutPdus          Counter32,
    iscsiIntrTxScsiCmdPdus         Counter32,
    iscsiIntrTxScsiTaskMgmtCmdPdus Counter32,
    iscsiIntrTxLoginCmdPdus        Counter32,
    iscsiIntrTxTextCmdPdus         Counter32,
    iscsiIntrTxScsiDataWritePdus   Counter32,
    iscsiIntrTxLogoutCmdPdus       Counter32,
    iscsiIntrTxSnackReqPdus        Counter32
}

iscsiIntrTxNopOutPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of NOP-Out PDUs transmitted by this initiator."
::= { iscsiInitiatorTxCmdStatsEntry 1 }

iscsiIntrTxScsiCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SCSI Command PDUs transmitted by this initiator."
::= { iscsiInitiatorTxCmdStatsEntry 2 }

iscsiIntrTxScsiTaskMgmtCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Task Management Command PDUs
     transmitted by this initiator."
::= { iscsiInitiatorTxCmdStatsEntry 3 }

iscsiIntrTxLoginCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Command PDUs transmitted by this initiator."
::= { iscsiInitiatorTxCmdStatsEntry 4 }

iscsiIntrTxTextCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Text Command PDUs transmitted by this initiator."
::= { iscsiInitiatorTxCmdStatsEntry 5 }

iscsiIntrTxScsiDataWritePdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Data PDUs transmitted by this initiator following a WRITE
     command or in reply to Ready To Transfer (R2T) command from the target
     during a WRITE command."
::= { iscsiInitiatorTxCmdStatsEntry 6 }

iscsiIntrTxLogoutCmdPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Command PDUs transmitted by this initiator."
::= { iscsiInitiatorTxCmdStatsEntry 7 }

iscsiIntrTxSnackReqPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of SNACK Request PDUs transmitted by this initiator."
::= { iscsiInitiatorTxCmdStatsEntry 8 }

iscsiInitiatorRxRspStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorRxRspStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "A list of counters of response PDUs received by each
        initiator instance belonging to this iSCSI instance present
        on this system."
::= { iscsiInitiatorInfo 7 }

iscsiInitiatorRxRspStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorRxRspStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of response PDUs received
        by a particular initiator instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorRxRspStatsTable 1 }

IscsiInitiatorRxRspStatsEntry ::= SEQUENCE {
    iscsiIntrRxNopInPdus           Counter32,
    iscsiIntrRxScsiRspPdus         Counter32,
    iscsiIntrRxScsiTaskMgmtRspPdus Counter32,
    iscsiIntrRxLoginRspPdus        Counter32,
    iscsiIntrRxTextRspPdus         Counter32,
    iscsiIntrRxScsiDataReadPdus    Counter32,
    iscsiIntrRxLogoutRspPdus       Counter32,
    iscsiIntrRxR2TPdus             Counter32,
    iscsiIntrRxAsyncPdus           Counter32,
    iscsiIntrRxRejectPdus          Counter32
}

iscsiIntrRxNopInPdus OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of NOP-In PDUs received by this initiator."
::= { iscsiInitiatorRxRspStatsEntry 1 }

iscsiIntrRxScsiRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Response PDUs received by this initiator."
::= { iscsiInitiatorRxRspStatsEntry 2 }

iscsiIntrRxScsiTaskMgmtRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Task Management Response PDUs
     received by this initiator."
::= { iscsiInitiatorRxRspStatsEntry 3 }

iscsiIntrRxLoginRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Login Response PDUs received by this initiator."
::= { iscsiInitiatorRxRspStatsEntry 4 }

iscsiIntrRxTextRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Text Response PDUs received by this initiator."
::= { iscsiInitiatorRxRspStatsEntry 5 }

iscsiIntrRxScsiDataReadPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of SCSI Data PDUs received by this initiator in
     reply to a READ command."
::= { iscsiInitiatorRxRspStatsEntry 6 }

iscsiIntrRxLogoutRspPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout Response PDUs received by this initiator."
::= { iscsiInitiatorRxRspStatsEntry 7 }

iscsiIntrRxR2TPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Ready To Transfer (R2T) PDUs received by this initiator."

::= { iscsiInitiatorRxRspStatsEntry 8 }

iscsiIntrRxAsyncPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Asynchronous Message PDUs received by this initiator."
::= { iscsiInitiatorRxRspStatsEntry 9 }

iscsiIntrRxRejectPdus OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs received by this initiator."
::= { iscsiInitiatorRxRspStatsEntry 10 }

iscsiInitiatorRxStatusStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorRxStatusStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "When an initiator attempts send a Login command, the target
        responds with a Login Response that carries a status code.
        This table contains a list of counters of Login Response
        PDUs of each status code, that were received by each
        initiator instance belonging to this iSCSI instance present
        on this system."
::= { iscsiInitiatorInfo 8 }

iscsiInitiatorRxStatusStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorRxStatusStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Login Response
        PDUs of each status code, that were received by
        a particular initiator instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorRxStatusStatsTable 1 }

IscsiInitiatorRxStatusStatsEntry ::= SEQUENCE {
    iscsiIntrRxStsAccepts          Counter32,
    iscsiIntrRxStsAuthenticates    Counter32,
    iscsiIntrRxStsNameRequireds    Counter32,
    iscsiIntrRxStsMoveTemps        Counter32,
    iscsiIntrRxStsMovePerms        Counter32,
    iscsiIntrRxStsProxyRequireds   Counter32,
    iscsiIntrRxStsAuthFails        Counter32,
    iscsiIntrRxStsForbiddens       Counter32,
    iscsiIntrRxStsNotFounds        Counter32,
    iscsiIntrRxStsRemoveds         Counter32,
    iscsiIntrRxStsConflicts        Counter32,
    iscsiIntrRxStsIsidErrors       Counter32,
    iscsiIntrRxStsTargetErrors     Counter32,
    iscsiIntrRxStsUnavailables     Counter32,
    iscsiIntrRxStsInvalidVersions  Counter32
}

iscsiIntrRxStsAccepts OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0000, Accept Login,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 1 }

iscsiIntrRxStsAuthenticates OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0001, Authenticate,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 2 }

iscsiIntrRxStsNameRequireds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0002, Target Name Required,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 3 }

iscsiIntrRxStsMoveTemps OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0101, Target Moved Temporarily,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 4 }

iscsiIntrRxStsMovePerms OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0102, Target Moved Permanently,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 5 }

iscsiIntrRxStsProxyRequireds OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0103, Proxy Required,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 6 }

iscsiIntrRxStsAuthFails OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0201, Authentication Failed,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 7 }

iscsiIntrRxStsForbiddens OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0202, Forbidden Target,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 8 }

iscsiIntrRxStsNotFounds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0203, Not Found,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 9 }

iscsiIntrRxStsRemoveds OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0204, Target Removed,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 10 }

iscsiIntrRxStsConflicts OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0205, Target Conflict,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 11 }

iscsiIntrRxStsIsidErrors OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0206, initiator SID Error,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 12 }

iscsiIntrRxStsTargetErrors OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0300, Target Error,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 13 }

iscsiIntrRxStsUnavailables OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0301, Service Unavailable,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 14 }

iscsiIntrRxStsInvalidVersions OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Login Response PDUs with status
     0x0302, Unsupported Version,
     received by this initiator."
::= { iscsiInitiatorRxStatusStatsEntry 15 }

iscsiInitiatorRxRejectStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorRxRejectStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An Initiator receives a Reject PDU from the target when the target
         cannot proceed with the task requested by the initiator because of
         a format error, a digest error, and other errors. A Reject PDU contains
         a reject Reason code which describes the error. This table contains a
         list of counters of Reject PDUs of each Reason code, that were
         received by each Initiator instance belonging to this iSCSI instance
         present on the system."
::= { iscsiInitiatorInfo 9 }

iscsiInitiatorRxRejectStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorRxRejectStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Reject PDUs
        of each reject Reason code, that were received by
        a particular initiator instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorRxRejectStatsTable 1 }

IscsiInitiatorRxRejectStatsEntry ::= SEQUENCE {
    iscsiIntrRxRjtFormats          Counter32,
    iscsiIntrRxRjtHdrDigests       Counter32,
    iscsiIntrRxRjtDataDigests      Counter32,
    iscsiIntrRxRjtDataSnacks       Counter32,
    iscsiIntrRxRjtRestarts         Counter32,
    iscsiIntrRxRjtFullFeatures     Counter32
}

iscsiIntrRxRjtFormats OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     1, Format Error, received by this initiator."
::= { iscsiInitiatorRxRejectStatsEntry 1 }

iscsiIntrRxRjtHdrDigests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     2, Header Digest Error, received by this initiator."
::= { iscsiInitiatorRxRejectStatsEntry 2 }

iscsiIntrRxRjtDataDigests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     3, Payload Digest Error, received by this initiator."
::= { iscsiInitiatorRxRejectStatsEntry 3 }

iscsiIntrRxRjtDataSnacks OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     4, Data-SACK Reject, received by this initiator."
::= { iscsiInitiatorRxRejectStatsEntry 4 }

iscsiIntrRxRjtRestarts OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     5, Command Retry Reject, received by this initiator."
::= { iscsiInitiatorRxRejectStatsEntry 5 }

iscsiIntrRxRjtFullFeatures OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Reject PDUs with Reason code
     15, Full Feature Phase Reject, received by this initiator."
::= { iscsiInitiatorRxRejectStatsEntry 6 }

iscsiInitiatorTxLogoutStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorTxLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An initiator sends a Logout PDU to a target to perform a controlled
         closing of a connection.  The Logout PDU carries a Reason code,
         indicating the reason for the Logout. This table contains a list of
         counters of Logout PDUs of each Reason code, that were transmitted by
         each Initiator instance belonging to this iSCSI instance present on
         the system."
::= { iscsiInitiatorInfo 10 }

iscsiInitiatorTxLogoutStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorTxLogoutStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Logout PDUs of each Reason code,
         that were transmitted by a particular Initiator instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorTxLogoutStatsTable 1 }

IscsiInitiatorTxLogoutStatsEntry ::= SEQUENCE {
    iscsiIntrTxLgtSessionCloses    Counter32,
    iscsiIntrTxLgtCxnRecoveries    Counter32,
    iscsiIntrTxLgtTargetRequests   Counter32
}

iscsiIntrTxLgtSessionCloses OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout PDUs with Reason code
     0, Close the session, transmitted by this initiator."
::= { iscsiInitiatorTxLogoutStatsEntry 1 }

iscsiIntrTxLgtCxnRecoveries OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Logout PDUs with Reason code
     1, Remove the connection for recovery,
     transmitted by this initiator."
::= { iscsiInitiatorTxLogoutStatsEntry 2 }

iscsiIntrTxLgtTargetRequests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
     "The count of Logout PDUs with Reason code
     2, Remove the connection at initiator's request,
     transmitted by this initiator."
::= { iscsiInitiatorTxLogoutStatsEntry 3 }

iscsiInitiatorRxAsyncStatsTable OBJECT-TYPE
    SYNTAX                         SEQUENCE OF IscsiInitiatorRxAsyncStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An initiator receives an Asynchronous Message PDU from a target to
         report an event that does not correspond to a particular command.
         Some events are strictly related to iSCSI, while others are related to
         SCSI.  The Asynchronous Message PDU includes an Event code to describe
         the iSCSI event.  This table contains a list of counters of
         Asynchronous Message PDUs of each iSCSI Event code, that were received
         by each Initiator instance belonging to this iSCSI instance present on
         the system."
::= { iscsiInitiatorInfo 11 }

iscsiInitiatorRxAsyncStatsEntry OBJECT-TYPE
    SYNTAX                         IscsiInitiatorRxAsyncStatsEntry
    MAX-ACCESS                     not-accessible
    STATUS                         current
    DESCRIPTION
        "An entry (row) containing counters of Asynchronous Message PDUs of each
         iSCSI Event code that were received by a particular Initiator
         instance."
    AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorRxAsyncStatsTable 1 }

IscsiInitiatorRxAsyncStatsEntry ::= SEQUENCE {
    iscsiIntrRxAsyTargetResets     Counter32,
    iscsiIntrRxAsyLogoutRequests   Counter32,
    iscsiIntrRxAsyCxnDrops         Counter32
}

iscsiIntrRxAsyTargetResets OBJECT-TYPE
    SYNTAX                       Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     1, Target is being reset, received by this initiator."
::= { iscsiInitiatorRxAsyncStatsEntry 1 }

iscsiIntrRxAsyLogoutRequests OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     2, Target requests Logout, received by this initiator."
::= { iscsiInitiatorRxAsyncStatsEntry 2 }

iscsiIntrRxAsyCxnDrops OBJECT-TYPE
    SYNTAX                  Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "The count of Asynchronous Message PDUs with iSCSI Event code
     2, Target indicates it will/has dropped the connection,
     received by this initiator."
::= { iscsiInitiatorRxAsyncStatsEntry 3 }

------------------------------------------------------------------------
-- Notifications

-- First, define a dummy number to allow SMIv2 Notifications to be
-- converted to SMIv1 Traps
iscsiNotificationsPrefix OBJECT IDENTIFIER ::= { iscsiNotifications 0 }

------------------------------------------------------------------------

-- Conformance Statements

iscsiGroups OBJECT IDENTIFIER ::= { iscsiConformance 1 }

iscsiInstanceAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiInstanceNumber,
        iscsiInstName,
        iscsiInstVersionMin,
        iscsiInstVersionMax,
        iscsiInstVendorID,
        iscsiInstVendorVersion,
        iscsiInstListenPortNumber,
        iscsiInstSessionNumber,
        iscsiInstTargetNumber,
        iscsiInstInitiatorNumber,
     iscsiInstNameServiceIpAddr,
     iscsiInstNameServicePort,
     iscsiInstNameServiceType
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 1 }

iscsiInstanceStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiInstTxCmdPdus,
        iscsiInstTxRspPdus,
        iscsiInstRxRspPdus,
        iscsiInstRxCmdPdus,
        iscsiInstTxDataOctets,
        iscsiInstRxDataOctets
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 2 }

iscsiInstanceCxnErrorStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiInstHdrDigestErrors,
        iscsiInstDataDigestErrors,
        iscsiInstCxnTimeoutErrors,
        iscsiInstFormatErrors
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 3 }

iscsiListenPortAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiLPProtocol,
        iscsiLPIpAddress,
        iscsiLPTcpPort
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 4 }

iscsiListenPortCxnStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiLPCxnCreations,
     iscsiLPCxnRefusals,
     iscsiLPCxnRefusalReason,
     iscsiLPCxnTerminations,
     iscsiLPCxnTerminationReason,
        iscsiLPCxnShutdowns
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 5 }

iscsiListenPortCnxErrorStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiLPHdrDigestErrors,
        iscsiLPDataDigestErrors,
        iscsiLPCxnTimeoutErrors,
        iscsiLPFormatErrors
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 6 }

iscsiListenPortTxStatusStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiLPTxStsAccepts,
        iscsiLPTxStsAuthenticates,
        iscsiLPTxStsNameRequireds,
        iscsiLPTxStsMoveTemps,
        iscsiLPTxStsMovePerms,
        iscsiLPTxStsProxyRequireds,
        iscsiLPTxStsAuthFails,
        iscsiLPTxStsForbiddens,
        iscsiLPTxStsNotFounds,
        iscsiLPTxStsRemoveds,
        iscsiLPTxStsConflicts,
        iscsiLPTxStsIsidErrors,
        iscsiLPTxStsTargetErrors,
        iscsiLPTxStsUnavailables,
        iscsiLPTxStsInvalidVersions
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 7 }

iscsiListenPortRxStatusStatsGroup OBJECT-GROUP
    OBJECTS {
     iscsiLPRxStsAccepts,
        iscsiLPRxStsAuthenticates,
        iscsiLPRxStsNameRequireds,
        iscsiLPRxStsMoveTemps,
        iscsiLPRxStsMovePerms,
        iscsiLPRxStsProxyRequireds,
        iscsiLPRxStsAuthFails,
        iscsiLPRxStsForbiddens,
        iscsiLPRxStsNotFounds,
        iscsiLPRxStsRemoveds,
        iscsiLPRxStsConflicts,
        iscsiLPRxStsIsidErrors,
        iscsiLPRxStsTargetErrors,
        iscsiLPRxStsUnavailables,
        iscsiLPRxStsInvalidVersions
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 8 }

iscsiSessionAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnType,
        iscsiSsnTargetName,
        iscsiSsnInitiatorName,
        iscsiSsnUseR2t,
        iscsiSsnBidirectionalUseR2t,
        iscsiSsnImmediateData,
        iscsiSsnEnableCmdRn,
        iscsiSsnInDataOrder,
        iscsiSsnBootSession,
        iscsiSsnMaxOutstandingR2t,
        iscsiSsnMaxDataPduLength,
        iscsiSsnFirstBurstSize,
        iscsiSsnInitiatorTagLength,
        iscsiSsnPingMaxReplyLength,
        iscsiSsnMaxTotalText,
        iscsiSsnKeyValueText,
        iscsiSsnConnectionNumber,
        iscsiSsnMaxConnections,
        iscsiSsnHeaderIntegrity,
        iscsiSsnDataIntegrity,
        iscsiSsnInitiatorAuth,
        iscsiSsnTargetAuth,
        iscsiSsnInitiatorUserName,
        iscsiSsnTargetUserName,
        iscsiSsnFramingScheme
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 9 }

iscsiSessionStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnTxCmdPdus,
        iscsiSsnTxRspPdus,
        iscsiSsnRxRspPdus,
        iscsiSsnRxCmdPdus,
        iscsiSsnTxDataOctets,
        iscsiSsnRxDataOctets
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 10 }

iscsiSessionCxnErrorStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnHdrDigestErrors,
        iscsiSsnDataDigestErrors,
        iscsiSsnCxnTimeoutErrors,
        iscsiSsnFormatErrors
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 11 }

iscsiSessionTxCmdStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnTxNopOutPdus,
        iscsiSsnTxScsiCmdPdus,
        iscsiSsnTxScsiTaskMgmtCmdPdus,
        iscsiSsnTxLoginCmdPdus,
        iscsiSsnTxTextCmdPdus,
        iscsiSsnTxScsiDataWritePdus,
        iscsiSsnTxLogoutCmdPdus,
        iscsiSsnTxSnackReqPdus
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 12 }

iscsiSessionRxCmdStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnRxNopInPdus,
        iscsiSsnRxScsiRspPdus,
        iscsiSsnRxScsiTaskMgmtRspPdus,
        iscsiSsnRxLoginRspPdus,
        iscsiSsnRxTextRspPdus,
        iscsiSsnRxScsiDataReadPdus,
        iscsiSsnRxLogoutRspPdus,
        iscsiSsnRxR2TPdus,
        iscsiSsnRxAsyncPdus,
        iscsiSsnRxRejectPdus
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 13 }

iscsiSessionTxRspStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnTxNopInPdus,
        iscsiSsnTxScsiRspPdus,
        iscsiSsnTxScsiTaskMgmtRspPdus,
        iscsiSsnTxLoginRspPdus,
        iscsiSsnTxTextRspPdus,
        iscsiSsnTxScsiDataReadPdus,
        iscsiSsnTxLogoutRspPdus,
        iscsiSsnTxR2TPdus,
        iscsiSsnTxAsyncPdus,
        iscsiSsnTxRejectPdus
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 14 }

iscsiSessionRxRspStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnRxNopOutPdus,
        iscsiSsnRxScsiCmdPdus,
        iscsiSsnRxScsiTaskMgmtCmdPdus,
        iscsiSsnRxLoginCmdPdus,
        iscsiSsnRxTextCmdPdus,
        iscsiSsnRxScsiDataWritePdus,
        iscsiSsnRxLogoutCmdPdus,
        iscsiSsnRxSnackReqPdus
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 15 }

iscsiSessionTxStatusStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnTxStsAccepts,
        iscsiSsnTxStsAuthenticates,
        iscsiSsnTxStsNameRequireds,
        iscsiSsnTxStsMoveTemps,
        iscsiSsnTxStsMovePerms,
        iscsiSsnTxStsProxyRequireds,
        iscsiSsnTxStsAuthFails,
        iscsiSsnTxStsForbiddens,
        iscsiSsnTxStsNotFounds,
        iscsiSsnTxStsRemoveds,
        iscsiSsnTxStsConflicts,
        iscsiSsnTxStsIsidErrors,
        iscsiSsnTxStsTargetErrors,
        iscsiSsnTxStsUnavailables,
        iscsiSsnTxStsInvalidVersions
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 16 }

iscsiSessionTxRejectsStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnTxRjtFormats,
        iscsiSsnTxRjtHdrDigests,
        iscsiSsnTxRjtDataDigests,
        iscsiSsnTxRjtDataSnacks,
        iscsiSsnTxRjtRestarts,
        iscsiSsnTxRjtFullFeatures
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 17 }

iscsiSessionTxLogoutStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnTxLgtSessionCloses,
        iscsiSsnTxLgtCxnRecoveries,
        iscsiSsnTxLgtTargetRequests
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 18 }

iscsiSessionTxAsyncStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnTxAsyTargetResets,
        iscsiSsnTxAsyLogoutRequests,
        iscsiSsnTxAsyCxnDrops
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 19 }

iscsiSessionRxStatusStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnRxStsAccepts,
        iscsiSsnRxStsAuthenticates,
        iscsiSsnRxStsNameRequireds,
        iscsiSsnRxStsMoveTemps,
        iscsiSsnRxStsMovePerms,
        iscsiSsnRxStsProxyRequireds,
        iscsiSsnRxStsAuthFails,
        iscsiSsnRxStsForbiddens,
        iscsiSsnRxStsNotFounds,
        iscsiSsnRxStsRemoveds,
        iscsiSsnRxStsConflicts,
        iscsiSsnRxStsIsidErrors,
        iscsiSsnRxStsTargetErrors,
        iscsiSsnRxStsUnavailables,
        iscsiSsnRxStsInvalidVersions
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 20 }

iscsiSessionRxRejectsStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnRxRjtFormats,
        iscsiSsnRxRjtHdrDigests,
        iscsiSsnRxRjtDataDigests,
        iscsiSsnRxRjtDataSnacks,
        iscsiSsnRxRjtRestarts,
        iscsiSsnRxRjtFullFeatures
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 21 }

iscsiSessionRxLogoutStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnRxLgtSessionCloses,
        iscsiSsnRxLgtCxnRecoveries,
        iscsiSsnRxLgtTargetRequests
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 22 }

iscsiSessionRxAsyncStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiSsnRxAsyTargetResets,
        iscsiSsnRxAsyLogoutRequests,
        iscsiSsnRxAsyCxnDrops
    }
    STATUS current
    DESCRIPTION
        "." session, transmitted by this
        initiator."
::= { iscsiGroups 23 }

iscsiConnectionAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiCxnState,
        iscsiCxnProtocol,
        iscsiCxnLocalIpAddress,
        iscsiCxnLocalTcpPort,
        iscsiCxnRemoteIpAddress,
        iscsiCxnRemoteTcpPort iscsiInitiatorLogoutStatsEntry 1 }

iscsiIntrLogoutOthers OBJECT-TYPE
    SYNTAX                         Counter32
    MAX-ACCESS                     read-only
    STATUS                         current
    DESCRIPTION
        "."
        "The count of Logout Command command PDUs with
        any status code other than 0, transmitted by this initiator."
::= { iscsiGroups 24 }

iscsiTargetAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiTgtName,
        iscsiTgtAlias,
        iscsiTgtScsiAttributes iscsiInitiatorLogoutStatsEntry 2 }
    STATUS current
    DESCRIPTION
        "."

------------------------------------------------------------------------
-- Notifications

-- First, define a dummy number to allow SMIv2 Notifications to be
-- converted to SMIv1 Traps

iscsiNotificationsPrefix OBJECT IDENTIFIER ::= { iscsiGroups 25 iscsiNotifications 0 }

iscsiTargetStatsGroup OBJECT-GROUP

iscsiTgtLoginFailure NOTIFICATION-TYPE
    OBJECTS {
        iscsiTgtTxRspPdus,
        iscsiTgtRxCmdPdus,
        iscsiTgtTxDataOctets,
        iscsiTgtRxDataOctets
        iscsiTgtLastFailureType,
        iscsiTgtLastIntrFailureName,
        iscsiTgtLastIntrFailureAddrType,
        iscsiTgtLastIntrFailureAddr
    }
    STATUS current
    DESCRIPTION
        "."
        "Sent when a login is failed by a target. It is expected that
        only authorization, authentication, and negotiation failures
        will be flagged."
::= { iscsiGroups 26 iscsiNotificationsPrefix 1 }

iscsiTargetCxnErrorStatsGroup OBJECT-GROUP

iscsiIntrLoginFailure NOTIFICATION-TYPE
    OBJECTS {
        iscsiTgtHdrDigestErrors,
        iscsiTgtDataDigestErrors,
        iscsiTgtCxnTimeoutErrors,
        iscsiTgtFormatErrors
        iscsiIntrLastFailureType,
        iscsiIntrLastTgtFailureName,
        iscsiIntrLastTgtFailureAddrType,
        iscsiIntrLastTgtFailureAddr
    }
    STATUS current
    DESCRIPTION
        "."
        "Sent when a login is failed by a initiator.It is expected that
        only authentication, and negotiation failures will be flagged."
::= { iscsiGroups 27 }

iscsiTargetTxRspStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiTgtTxNopInPdus,
        iscsiTgtTxScsiRspPdus,
        iscsiTgtTxScsiTaskMgmtRspPdus,
        iscsiTgtTxLoginRspPdus,
        iscsiTgtTxTextRspPdus,
        iscsiTgtTxScsiDataReadPdus,
        iscsiTgtTxLogoutRspPdus,
        iscsiTgtTxR2TPdus,
        iscsiTgtTxAsyncPdus,
        iscsiTgtTxRejectPdus iscsiNotificationsPrefix 2 }
    STATUS current
    DESCRIPTION
        "."

------------------------------------------------------------------------

-- Conformance Statements

iscsiGroups OBJECT IDENTIFIER ::= { iscsiGroups 28 iscsiConformance 1 }

iscsiTargetRxCmdStatsGroup

iscsiInstanceAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiTgtRxNopOutPdus,
        iscsiTgtRxScsiCmdPdus,
        iscsiTgtRxScsiTaskMgmtCmdPdus,
        iscsiTgtRxLoginCmdPdus,
        iscsiTgtRxTextCmdPdus,
        iscsiTgtRxScsiDataWritePdus,
        iscsiTgtRxLogoutCmdPdus,
        iscsiTgtRxSnackReqPdus
        iscsiInstanceNumber,
        iscsiInstName,
        iscsiInstVersionMin,
        iscsiInstVersionMax,
        iscsiInstVendorID,
        iscsiInstVendorVersion,
        iscsiInstTargetPortalNumber,
        iscsiInstInitiatorPortalNumber,
        iscsiInstSessionNumber,
        iscsiInstTargetNumber,
        iscsiInstInitiatorNumber,
        iscsiInstNameServiceAddrType,
        iscsiInstNameServiceAddr,
        iscsiInstNameServicePort,
        iscsiInstNameServiceType
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 29 1 }

iscsiTargetTxStatusStatsGroup

iscsiTargetPortalAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiTgtTxStsAccepts,
        iscsiTgtTxStsAuthenticates,
        iscsiTgtTxStsNameRequireds,
        iscsiTgtTxStsMoveTemps,
        iscsiTgtTxStsMovePerms,
        iscsiTgtTxStsProxyRequireds,
        iscsiTgtTxStsAuthFails,
        iscsiTgtTxStsForbiddens,
        iscsiTgtTxStsNotFounds,
        iscsiTgtTxStsRemoveds,
        iscsiTgtTxStsConflicts,
        iscsiTgtTxStsIsidErrors,
        iscsiTgtTxStsTargetErrors,
        iscsiTgtTxStsUnavailables,
        iscsiTgtTxStsInvalidVersions
        iscsiTgtPortalProtocol,
        iscsiTgtPortalAddrType,
        iscsiTgtPortalAddr,
        iscsiTgtPortalPort
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 30 2 }

iscsiTargetTxRejectStatsGroup

iscsiInitiatorPortalAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiTgtTxRjtFormats,
        iscsiTgtTxRjtHdrDigests,
        iscsiTgtTxRjtDataDigests,
        iscsiTgtTxRjtDataSnacks,
        iscsiTgtTxRjtRestarts,
        iscsiTgtTxRjtFullFeatures
        iscsiIntrPortalProtocol,
        iscsiIntrPortalAddrType,
        iscsiIntrPortalAddr
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 31 3 }

iscsiTargetRxLogoutStatsGroup

iscsiSessionAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiTgtRxLgtSessionCloses,
        iscsiTgtRxLgtCxnRecoveries,
        iscsiTgtRxLgtTargetRequests
        iscsiSsnType,
        iscsiSsnTargetName,
        iscsiSsnInitiatorName,
        iscsiSsnUseR2t,
        iscsiSsnBidirectionalUseR2t,
        iscsiSsnImmediateData,
        iscsiSsnBootSession,
        iscsiSsnMaxOutstandingR2t,
        iscsiSsnMaxDataPduLength,
        iscsiSsnFirstBurstSize,
        iscsiSsnConnectionNumber,
        iscsiSsnMaxConnections,
        iscsiSsnHeaderIntegrity,
        iscsiSsnDataIntegrity
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 32 4 }

iscsiTargetTxAsyncStatsGroup

iscsiSessionStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiTgtTxAsyTargetResets,
        iscsiTgtTxAsyLogoutRequests,
        iscsiTgtTxAsyCxnDrops
        iscsiSsnCmdPdus,
        iscsiSsnRspPdus,
        iscsiSsnTxDataOctets,
        iscsiSsnRxDataOctets
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 33 5 }

iscsiAccessListAttributesGroup

iscsiSessionCxnErrorStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiALInitiatorName
        iscsiSsnDigestErrors,
        iscsiSsnCxnTimeoutErrors,
        iscsiSsnFormatErrors
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 34 6 }

iscsiInitiatorAttributesGroup

iscsiConnectionAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiIntrName,
        iscsiIntrAlias
        iscsiCxnState,
        iscsiCxnProtocol,
        iscsiCxnLocalAddrType,
        iscsiCxnLocalAddr,
        iscsiCxnLocalPort,
        iscsiCxnRemoteAddrType,
        iscsiCxnRemoteAddr,
        iscsiCxnRemotePort
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 35 7 }

iscsiInitiatorStatsGroup

iscsiTargetAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiIntrTxCmdPdus,
        iscsiIntrRxRspPdus,
        iscsiIntrTxDataOctets,
        iscsiIntrRxDataOctets
        iscsiTgtName,
        iscsiTgtAlias,
        iscsiTgtLastFailureTime,
        iscsiTgtLastFailureType,
        iscsiTgtLastIntrFailureName,
        iscsiTgtLastIntrFailureAddrType,
        iscsiTgtLastIntrFailureAddr
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 36 8 }

iscsiInitiatorCxnErrorStatsGroup

iscsiTargetLoginStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiIntrHdrDigestErrors,
        iscsiIntrDataDigestErrors,
        iscsiIntrCxnTimeoutErrors,
        iscsiIntrFormatErrors
        iscsiTgtLoginAccepts,
        iscsiTgtLoginOtherFails,
        iscsiTgtLoginRedirects,
        iscsiTgtLoginAuthorizeFails,
        iscsiTgtLoginAuthenticateFails,
        iscsiTgtLoginNegotiateFails
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 37 9 }

iscsiInitiatorTxCmdStatsGroup

iscsiTargetLogoutStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiIntrTxNopOutPdus,
        iscsiIntrTxScsiCmdPdus,
        iscsiIntrTxScsiTaskMgmtCmdPdus,
        iscsiIntrTxLoginCmdPdus,
        iscsiIntrTxTextCmdPdus,
        iscsiIntrTxScsiDataWritePdus,
        iscsiIntrTxLogoutCmdPdus,
        iscsiIntrTxSnackReqPdus
        iscsiTgtLogoutNormals,
        iscsiTgtLogoutOthers
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 38 10 }

iscsiInitiatorRxRspStatsGroup

iscsiAccessListAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiIntrRxNopInPdus,
        iscsiIntrRxScsiRspPdus,
        iscsiIntrRxScsiTaskMgmtRspPdus,
        iscsiIntrRxLoginRspPdus,
        iscsiIntrRxTextRspPdus,
        iscsiIntrRxScsiDataReadPdus,
        iscsiIntrRxLogoutRspPdus,
     iscsiIntrRxR2TPdus,
     iscsiIntrRxAsyncPdus,
     iscsiIntrRxRejectPdus
        iscsiALInitiatorName
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 39 11 }

iscsiInitiatorRxStatusStatsGroup

iscsiInitiatorAttributesGroup OBJECT-GROUP
    OBJECTS {
        iscsiIntrRxStsAccepts,
        iscsiIntrRxStsAuthenticates,
        iscsiIntrRxStsNameRequireds,
        iscsiIntrRxStsMoveTemps,
        iscsiIntrRxStsMovePerms,
        iscsiIntrRxStsProxyRequireds,
        iscsiIntrRxStsAuthFails,
        iscsiIntrRxStsForbiddens,
        iscsiIntrRxStsNotFounds,
        iscsiIntrRxStsRemoveds,
        iscsiIntrRxStsConflicts,
        iscsiIntrRxStsIsidErrors,
        iscsiIntrRxStsTargetErrors,
        iscsiIntrRxStsUnavailables,
        iscsiIntrRxStsInvalidVersions
        iscsiIntrName,
        iscsiIntrAlias,
        iscsiIntrLastFailureTime,
        iscsiIntrLastFailureType,
        iscsiIntrLastTgtFailureName,
        iscsiIntrLastTgtFailureAddrType,
        iscsiIntrLastTgtFailureAddr
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 40 12 }

iscsiInitiatorRxRejectStatsGroup

iscsiInitiatorLoginStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiIntrRxRjtFormats,
        iscsiIntrRxRjtHdrDigests,
        iscsiIntrRxRjtDataDigests,
        iscsiIntrRxRjtDataSnacks,
        iscsiIntrRxRjtRestarts,
        iscsiIntrRxRjtFullFeatures
        iscsiIntrLoginAcceptRsps,
        iscsiIntrLoginOtherFailRsps,
        iscsiIntrLoginRedirectRsps,
        iscsiIntrLoginAuthFailRsps,
        iscsiIntrLoginAuthenticateFails,
        iscsiIntrLoginNegotiateFails
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 41 13 }

iscsiInitiatorTxLogoutStatsGroup

iscsiInitiatorLogoutStatsGroup OBJECT-GROUP
    OBJECTS {
        iscsiIntrTxLgtSessionCloses,
        iscsiIntrTxLgtCxnRecoveries,
        iscsiIntrTxLgtTargetRequests
        iscsiIntrLogoutNormals,
        iscsiIntrLogoutOthers
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 42 14 }

iscsiInitiatorRxAsyncStatsGroup OBJECT-GROUP
    OBJECTS

iscsiNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        iscsiIntrRxAsyTargetResets,
        iscsiIntrRxAsyLogoutRequests,
        iscsiIntrRxAsyCxnDrops
        iscsiTgtLoginFailure,
        iscsiIntrLoginFailure
    }
    STATUS current
    DESCRIPTION
        "."
::= { iscsiGroups 43 15 }

------------------------------------------------------------------------

iscsiCompliances OBJECT IDENTIFIER ::= { iscsiConformance 2 }

iscsiFullComplianceV1

iscsiComplianceV1 MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Will probably change so we'll label it V(ersion)1. It
    includes the Lun and Lu objects which are probably going
    to be removed at some point."
        "Initial version of compliance statement based on
        initial version of MIB."
    MODULE       -- this module
    MANDATORY-GROUPS {
        iscsiInstanceAttributesGroup,
    iscsiInstanceStatsGroup,
    iscsiInstanceCxnErrorStatsGroup,
    iscsiListenPortAttributesGroup,
    iscsiListenPortCxnStatsGroup,
    iscsiListenPortCnxErrorStatsGroup,
    iscsiListenPortTxStatusStatsGroup,
    iscsiListenPortRxStatusStatsGroup,
        iscsiTargetPortalAttributesGroup,
        iscsiInitiatorPortalAttributesGroup,
        iscsiSessionAttributesGroup,
        iscsiSessionStatsGroup,
        iscsiSessionCxnErrorStatsGroup,
    iscsiSessionTxCmdStatsGroup,
    iscsiSessionRxCmdStatsGroup,
    iscsiSessionTxRspStatsGroup,
    iscsiSessionRxRspStatsGroup,
    iscsiSessionTxStatusStatsGroup,
    iscsiSessionTxRejectsStatsGroup,
    iscsiSessionTxLogoutStatsGroup,
    iscsiSessionTxAsyncStatsGroup,
    iscsiSessionRxStatusStatsGroup,
    iscsiSessionRxRejectsStatsGroup,
    iscsiSessionRxLogoutStatsGroup,
    iscsiSessionRxAsyncStatsGroup,
        iscsiConnectionAttributesGroup,
        iscsiTargetAttributesGroup,
    iscsiTargetStatsGroup,
    iscsiTargetCxnErrorStatsGroup,
    iscsiTargetTxRspStatsGroup,
    iscsiTargetRxCmdStatsGroup,
    iscsiTargetTxStatusStatsGroup,
    iscsiTargetTxRejectStatsGroup,
    iscsiTargetRxLogoutStatsGroup,
    iscsiTargetTxAsyncStatsGroup,
        iscsiTargetLoginStatsGroup,
        iscsiTargetLogoutStatsGroup,
        iscsiAccessListAttributesGroup,
        iscsiInitiatorAttributesGroup,
    iscsiInitiatorStatsGroup,
    iscsiInitiatorCxnErrorStatsGroup,
    iscsiInitiatorTxCmdStatsGroup,
    iscsiInitiatorRxRspStatsGroup,
    iscsiInitiatorRxStatusStatsGroup,
    iscsiInitiatorRxRejectStatsGroup,
    iscsiInitiatorTxLogoutStatsGroup,
    iscsiInitiatorRxAsyncStatsGroup
        iscsiInitiatorLoginStatsGroup,
        iscsiInitiatorLogoutStatsGroup
    }
::= { iscsiCompliances 2 1 }

END

7.  Security Considerations

   This MIB currently contains no read-write, read-create, or RowStatus
   variables,
   attributes, and cannot be directly used to affect the configuration
   or operation of an iSCSI entity.

   Information gleaned from this MIB could be used to make connections
   to the iSCSI targets it represents.  However, it is the responsbility
   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 [ISCSI].

8.  References

[ISCSI]     Satran, J., et. al., "iSCSI", draft-ietf-ips-iSCSI-05, March draft-ietf-ips-iSCSI-06, April
            2001.

[RFC2571]   Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture
            for Describing SNMP Management Frameworks", RFC 2571, April
            1999.

[RFC1155]   Rose, M., and K. McCloghrie, "Structure and Identification
            of Management Information for TCP/IP-based Internets", STD
            16, RFC 1155, May 1990.

[RFC1212]   Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD
            16, RFC 1212, March 1991.

[RFC1215]   M. Rose, "A Convention for Defining Traps for use with the
            SNMP", RFC 1215, March 1991.

[RFC2578]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Structure of Management
            Information Version 2 (SMIv2)", STD 58, RFC 2578, April
            1999.

[RFC2579]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Textual Conventions for
            SMIv2", STD 58, RFC 2579, April 1999.

[RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Conformance Statements for
            SMIv2", STD 58, RFC 2580, April 1999.

[RFC1157]   Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
            Network Management Protocol", STD 15, RFC 1157, May 1990.

[RFC1901]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Introduction to Community-based SNMPv2", RFC 1901, January
            1996.

[RFC1906]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Transport Mappings for Version 2 of the Simple Network
            Management Protocol (SNMPv2)", RFC 1906, January 1996.

[RFC2572]   Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
            Processing and Dispatching for the Simple Network Management
            Protocol (SNMP)", RFC 2572, April 1999.

[RFC2574]   Blumenthal, U., and B. Wijnen, "User-based Security Model
            (USM) for version 3 of the Simple Network Management
            Protocol (SNMPv3)", RFC 2574, April 1999.

[RFC1905]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Protocol Operations for Version 2 of the Simple Network
            Management Protocol (SNMPv2)", RFC 1905, January 1996.

[RFC2573]   Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications",
            RFC 2573, April 1999.

[RFC2575]   Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
            Access Control Model (VACM) for the Simple Network
            Management Protocol (SNMP)", RFC 2575, April 1999.

[RFC2570]   Case, J., Mundy, R., Partain, D., and B. Stewart,
            "Introduction to Version 3 of the Internet-standard Network
            Management Framework", RFC 2570, April 1999.

[RFC2012]   K.   McCloghrie, K., "SNMPv2 Management Information Base for the
            Transmission Control Protocol using SMIv2", RFC 2012,
            November 1996.

[RFC2851]   Daniele, M., et. al., "Textual Conventions for Internet
            Network Addresses", RFC 2851, June 2000.

[IPV6MIB]   Daniele, M., et. al., "Textual Conventions for Internet
            Network Addresses", draft-ietf-ops-rfc2851-update-00.txt,
            February 2001

9.  Authors' Addresses

       Mark Bakke
       Postal: Cisco Systems, Inc
       6450 Wedgwood Road, Suite 130
       Maple Grove, MN
       USA 55311

       Tel: +1 763-398-1000
       Fax: +1 763-398-1001

       E-mail: mbakke@cisco.com
       Marjorie Krueger
       Postal: Hewlett-Packard
       Networked Storage Architecture
       Networked Storage Solutions Org.
       8000 Foothills Blvd.
       Roseville, CA
       USA 95747

       Tel: +1 916-785-2656
       Tel: +1 916-785-0391

       Email: marjorie_krueger@hp.com

       Tom McSweeney
       Postal: IBM Corporation
       600 Park Offices Drive
       Research Triangle Park, NC
       USA 27709

       Tel: +1-919-254-5634
       Fax: +1-919-254-0391

       E-mail: rf42tpme@us.ibm.com

       Jim Muchow
       Postal: Cisco Systems, Inc
       6450 Wedgwood Road, Suite 130
       Maple Grove, MN
       USA 55311

       Tel: +1 763-398-1000
       Fax: +1 763-398-1001

       E-mail: jmuchow@cisco.com"