Internet Draft                                     M. Hallak-Stamler
                                          Sanrad Intelligent Storage
draft-ietf-ips-scsi-mib-02.txt                              M. Bakke
                                                       Cisco Systems
Expires: August 2002                                   K. McCloghrie
                                                       Cisco Systems
                                                         Y. Lederman
                                              Siliquent Technologies
                                                          G. Penokie
                                                                 IBM
                                                      Roger Cummings
                                                             Veritas
                                                      Sajay Selvaraj
                                                    Hcl Technologies
                                                        Kha Sin Teow
                                                             Brocade
                                                       February 2002


            Definition of Managed Objects for SCSI Entities

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.

Copyright Notice

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

Abstract

   This memo defines a Management Information Base (MIB) for Small
   Computer System Interface (SCSI) entities, independently of the
   transport layer.


Hallak-Stamler et al.                                        [Page  1]
                               SCSI MIB                     March 2002

Table of Contents

   1.  The SNMP Management Framework.................................2
   2.  Conventions...................................................3
   3.  Overview......................................................3
       3.1 Introduction..............................................4
     3.2 SCSI Terminology............................................6
       3.2.1 SCSI application layer..................................6
       3.2.2 SCSI Device.............................................7
       3.2.3 SCSI Port...............................................7
       3.2.4 SCSI Initiator Device...................................7
       3.2.5 SCSI Initiator Port.....................................7
       3.2.6 SCSI Target Device......................................7
       3.2.7 SCSI Target Port........................................7
       3.2.8 Logical Units...........................................7
       3.2.9 Logical Unit Number.....................................8
       3.2.10 Nexus..................................................8
       3.2.11 Interconnect subsystem.................................8
       3.2.12 Device Server..........................................8
       3.2.13 Task Manager...........................................8
     3.3  SCSI MIB implementations...................................8
     3.4 Bridging and Virtualization................................11
   4. Structure of the MIB..........................................11
     4.1 General Group..............................................11
     4.2 Initiator Group............................................11
     4.3 Target Group...............................................12
     4.4 The Transport Group........................................12
   5. Relationship to Other MIBs....................................12
     5.1 Host Resource MIB..........................................12
     5.2 iSCSI MIB..................................................12
   6. MIBS Specific Issues..........................................12
     6.1 Names and Identifiers......................................12
     6.2 Logical Unit Number........................................12
     6.3 State and status...........................................12
     6.4 SCSI Domains...............................................13
   7.Objects Population Examples....................................13
   8.  Abbreviations................................................18
   9.  Warning......................................................18
   10.  Object Definitions..........................................18
   11.  Acknowledgments.............................................52
   12.  References..................................................52
   13.  Security Considerations.....................................54
   14.  Authors' Addresses..........................................54


   1.  The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

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


Hallak-Stamler et al     Expires August 2002                [Page  2]
                               SCSI MIB                     March 2002

      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 [2], STD 16, RFC 1212 [3] and
         RFC 1215 [4].  The second version, called SMIv2, is described
         in STD 58, RFC 2578 [5], STD 58, RFC 2579 [6] and STD 58, RFC
         2580 [7].

      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 [8].  A second version of
         the SNMP message protocol, which is not an Internet standards
         track protocol, is called SNMPv2c and described in RFC 1901
         [9] and RFC 1906 [10].  The third version of the message
         protocol is called SNMPv3 and described in RFC 1906 [10], RFC
         2572 [11] and RFC2574[12].

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

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

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

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

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

   2.  Conventions

   The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
   SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when
   they appear in this document, are to be interpreted as described in
   RFC 2119 [23].

   3.  Overview


Hallak-Stamler et al     Expires August 2002                [Page  3]
                               SCSI MIB                     March 2002

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes a set of managed objects to configure
   and monitor Small Computer System Interface entities (SCSI
   entities), i.e. SCSI devices, SCSI targets and Initiators and SCSI
   Ports. The MIB is based on documents issued by the T-10 Technical
   Committee and specially on SAM-2 (SCSI Architecture Model - 2)
   document [17].

   The SCSI protocol is a client-server protocol allowing an
   application layer client to transmit commands to a device server and
   to a task manager using an interconnect subsystem.
   The client side is referred as the initiator side and the server
   side is referred as the target side.
   A target includes a collection of logical units; each logical unit
   has a task manager allowing an initiator to execute commands.

   3.1 Introduction

   In the late 1970s a firm called Shugart Associates started to have
   some considerable success with a peripheral interface definition in
   what became the PC marketplace, and this interface was adopted
   and extended by an open standards committee to form the Small
   Computer Systems Interface (SCSI).
   SCSI defined an 8 bit wide multi-drop "bus" structure which could
   interconnect a total of eight peripherals and computer systems.

   It's important to realize that all SCSI initially standardized was
   the "physical connection" i.e. the connectors, cables and interface
   signals. Thus even though a peripheral could be connected to
   multiple systems, the information that flowed across the interface
   was different in each case.
   This was addressed some five years later by the definition of a
   Common Command Set, and with this definition in place it was
   possible for the first time to develop a peripheral with both a
   common interface and common operating firmware for connection to
   multiple systems.

   The physical interface of SCSI continued to be developed throughout
   the 1980s with the addition of fast (up to 10 megabytes/s) and wide
   (16 bits) variants, but the distance supported remained a maximum of
   25 meters (from one end of the bus to another), and indeed some of
   the faster variants supported much less than that distance. The
   command set development continued, with special commands for tapes,
   printers, and even processors being added to the original disk-
   oriented set.
   So successful was SCSI in the 1980s that the majority of the
   available Operating Systems incorporated support for the SCSI
   command set as standard.

   However at the end of the 1980s the distance, speed and number of
   devices supported by SCSI were starting to become significant
   impediments to systems design, and while the "information explosion"

Hallak-Stamler et al     Expires August 2002                [Page  4]
                               SCSI MIB                     March 2002

   had not yet started in earnest, it was already being anticipated. At
   the same time, the serial interface technologies developed for Local
   Area Networks such as Ethernet, and the fibre optics technologies
   that were first deployed in telecommunications applications, were
   starting to appear sufficiently rugged & low-cost for use in
   peripheral interface applications.
   Thus a standards project was begun in 1988 to develop a new serial,
   fibre-optic interface to carry the SCSI command sets and other
   peripheral protocols. This interface eventually became known as
   Fibre Channel (FC), and it is based on an architecture centered
   around an abstractly defined "fabric", which may be a switch or a
   loop connection. MIBs for various FC equipments are already in
   existence.

   In order to support the new interfaces, it was necessary to
   completely reorganize the SCSI standards and definitions. The
   command sets were separated from the physical interface definitions,
   and a SCSI Architectural Model (SAM) was created to define the
   interaction between the various standards. It is a key to
   understanding SAM to realize that it was first created approximately
   10 years AFTER the first SCSI products were shipped!!

   The most recent development in this saga occurred in 2000 when an
   IETF Working Group was formed to address, amongst other things, a
   definition for transporting the SCSI command sets directly over a
   TCP/IP infrastructure. This effort is know as iSCSI, and an iSCSI
   MIB is already under development.

                         SCSI-3 Standards Architecture (*)

                    +------------------------------+
   - - - - - - - - -| Common Access Method (CAM-3) |- - - - - - - - - -
                    +------------------------------+
           +--------+    +--------+ +----------+ +--------+ +---------+
           |Reduced |    |Medium  | |Controller| |Multi-  | |Enclosure|
           |Block   |    |Changer | |Commands  | |Media   | |Services |
           |Commands|    |Commands| |(SCC,     | |Commands| | (SES)   |
           | (RBC)  |    | (SMC)  | |   SCC-2) | |(MMC,   | +---------+
           +--------+    +--------+ +----------+ | MMC-2) |      |
   +--------+  |  +--------+  |           |      +--------+      |
   |Block   |  |  |Stream  |  |           |           |          |
   |Commands|  |  |Commands|  |           |           |          |
   | (SBC)  |  |  | (SSC)  |  |           |           |          |
   +--------+  |  +--------+  |           |           |          |
       |       |      |       |           |           |          |
       +---------------------------------------------------------+
                                    |
                    +-------------------------------+
                    | Primary Commands (SPC, SPC-2) |
                    +-------------------------------+
                                    |

Hallak-Stamler et al     Expires August 2002                [Page  5]
                               SCSI MIB                     March 2002

                    +---------------------------------+
   - - - - - - - - -| Architecture Model (SAM, SAM-2) |- - - - - - - -
                    +---------------------------------+
                                    |
          +------------------------------------------------+
          |                      |               |         |
    +-----------+         +-------------+ +------------+   |  Parallel
    |Interlocked|         |Parallel     | |Parallel    |   |  Interface
    |Protocol   |         |Interface-2  | |Interface-3 |   |  Projects
    |   (SIP)   |         |(SPI-2)      | |(SPI-3)     |   |
    +-----------+         |             | |            |   |
          |               |[Will replace| |[New project|   |
          |               | SIP, SPI, & | | based on   |   |
          |               | Fast-20]    | | SPI-2]     |   |
    +---------+           |             | |            |   |
    |Parallel | +-------+ |             | |            |   |
    |Interface|-|Fast-20| |             | |            |   |
    |  (SPI)  | |(Ultra)| |  (Ultra2)   | |  (Ultra3)  |   |
    +---------+ +-------+ +-------------+ +------------+   |
                                                           |
                                                           |
          +------------------------------------------------+
          |             |              |
    +----------+ +-------------+ +----------+                 Serial
    |Serial Bus| |Fibre Channel| |SSA SCSI-3|                 Interface
    |Protocol  | |Protocol     | |Protocol  |                 Projects
    | (SBP-2)  | |(FCP, FCP-2) | |(SSA-S3P) |
    +----------+ +-------------+ +----------+
          |             |              |
          |             |        +----------+
          |             |        |SSA-TL2   |
          |             |        +----------+
          |             |              |
          |             |        +----------+
    +----------+ +-------------+ |SSA-PH1 or|
    |IEEE 1394 | |Fibre Channel| |SSA-PH2   |
    +----------+ +-------------+ +----------+

   (*)  This chart reflects the currently approved SCSI-3 project
   family.

   All projects are in T10, except Fibre Channel is in T11 and 1394 is
   in IEEE.

   3.2 SCSI Terminology

   The definitions below are part of T.10 Proposal for SAM-2 [17]. They
   are copied from [17].

   3.2.1 SCSI application layer


Hallak-Stamler et al     Expires August 2002                [Page  6]
                               SCSI MIB                     March 2002

   The protocols and procedures that implement or invoke SCSI commands
   and task management functions by using services provided by a SCSI
   protocol layer.

   3.2.2 SCSI Device

   A SCSI device is an entity that contains one or more SCSI ports that
   are connected to a service delivery subsystem and supports a SCSI
   application protocol.

   3.2.3 SCSI Port

   A device-resident object that connects the application client,
   device server or task manager to the service delivery subsystem
   through which requests and responses are routed. SCSI port is
   synonymous with port and either a SCSI initiator port or a SCSI
   target port.

   3.2.4 SCSI Initiator Device

   A SCSI initiator device contains application clients and SCSI
   initiator ports that originate device service and task management
   requests to be processed by a target SCSI device. When used this
   term refers to SCSI initiator devices or SCSI target/initiator
   devices that are using the SCSI target/initiator port as a SCSI
   initiator port.

   3.2.5 SCSI Initiator Port

   A SCSI initiator device object acts as the connection between
   application clients and the service delivery subsystem through which
   requests and responses are routed. In all cases when this term is
   used it refers to an initiator port or a SCSI target/initiator port
   operating as a SCSI initiator port.

   3.2.6 SCSI Target Device

   A SCSI device containing logical units and SCSI target ports that
   receives device service and task management requests for processing.
   When used this term refers to SCSI target devices or SCSI
   target/initiator devices that are using the SCSI target/initiator
   port as a SCSI target port.

   3.2.7 SCSI Target Port

   A SCSI target device object contains a task router and acts as the
   connection between device servers and task managers and the service
   delivery subsystem through which requests and responses are routed.
   When this term is used it refers to a SCSI target port or a SCSI
   target/initiator port operating as a SCSI target port.

   3.2.8 Logical Units


Hallak-Stamler et al     Expires August 2002                [Page  7]
                               SCSI MIB                     March 2002

   An entity residing in the target that implements a device model and
   processes SCSI commands sent by an application client.

   3.2.9 Logical Unit Number

   Logical Unit Number or LUN is a 64-bit identifier for a logical
   unit.

   3.2.10 Nexus

   A nexus is a relationship between two SCSI devices and the initiator
   and target objects within those SCSI devices.

          I_T Nexus:     A nexus between an initiator and a target
          I_T_L Nexus:   A nexus between an initiator, a target and a
                         logical unit.
          I_T_L_Q Nexus: A nexus between an initiator, a target, a
                         logical unit and a tagged task.
          I_T_L_x Nexus: Either an I_T_L nexus or an I_T_L_Q nexus.

   3.2.11 Interconnect subsystem

   One or more physical interconnects that appear as a single path for
   the transfer of information between SCSI devices.

   3.2.12 Device Server

   A device server is an object within the logical unit that processes
   SCSI tasks according to the rules for task management.

   3.2.13 Task Manager

   A task manager is a server within the target that processes task
   management functions.

   3.3  SCSI MIB implementations

   The SCSI MIB is a basic building block to use in the various SCSI
   management scenarios.

   The SCSI MIB may be implemented in any SCSI entity in the system. A
   SCSI entity can be a SCSI Initiator device, SCSI Target device or
   SCSI Initiator and Target device. As SCSI devices may contain more
   than one SCSI entity, it is possible that more than one SCSI MIB
   instance, and its respective agent, will reside in a single device.

   Along this chapter figures have been provided to describe the
   location of the SCSI MIB implementation in the various SCSI
   management scenarios.

   The location of the SCSI SNMP agent implementing the SCSI MIB are
   denoted with '*'.


Hallak-Stamler et al     Expires August 2002                [Page  8]
                               SCSI MIB                     March 2002


         +----------+                                       +---------+
         |SCSI      |          SCSI Transport               |SCSI     |
         |Initiator +---------------------------------------+Target   |
         |Device    |                                       |Device   |
         |     *    |                                       |    *    |
         +----------+                                       +---------+
               |                                                 |
               |                                                 |
               |                                                 |
               |                                                 |
               |                                                 |
               |      SNMP        +----------+     SNMP          |
               +------------------|SCSI      |-------------------+
                                  |Management|
                                  | (NMS)    |
                                  +----------+


   Figure 1: Single SCSI Initiator device and Single SCSI Target device


   Figure 1 describes a simple SCSI management scenario of a SCSI
   Initiator device, a SCSI Target device and a Management station.
   In this scenario there are two SNMP agents, each containing its SCSI
   instance and its respective objects.

   As the SCSI Target and SCSI Initiator device are interconnected,
   their Target and Initiator port objects will be complementary.

      'TBD AttachedObjects description'

   In addition to the SCSI transport (e.g. parallel SCSI, FCP, iSCSI),
   a management interface and transport (e.g. UDP),is provided in both
   the Target and the Initiator.


Hallak-Stamler et al     Expires August 2002                [Page  9]
                               SCSI MIB                     March 2002

      +-----------+
      |  +--------+-+          SCSI Transport               +---------+
      |  | SCSI     |---------------------------------------+ SCSI    |
      |* | Initiator+---------------------------------------+ Target  |
      +--| Device   |          SCSI Transport               | Device  |
       | |     *    |                                       |    *    |
       | +----------+                                       +---------+
       |       |                                                 |
       |       |                                                 |
       |       |                                                 |
       |       |                                                 |
       |       |                                                 |
       |SNMP   |      SNMP        +----------+     SNMP          |
       +-------+------------------|SCSI      |-------------------+
                                  |Management|
                                  | (NMS)    |
                                  +----------+

                   Figure 2: Multiple Hosts and a Single Target device


   Figure 2 adds another SCSI Initiator device, to the SCSI network,
   which connects to the same SCSI target device.
   The Initiator also implements a SNMP SCSI agent. In this case the
   SCSI Target device includes multiple attached SCSI Initiator device
   Object instances.


   +-----------+                                            +---------+
   |  +----------+              +---------------+         +-+-----+   |
   |  |SCSI      |--------------| Virtualization|         | SCSI  |   |
   |* |Initiator +--------------| Device        +---------+ Target|   |
   +--|Device    | SCSI         |               |         | Device| * |
    | |     *    |              |            *  |         |    *  |---+
    | +----------+ Transport    +------------+--+         +-------+ |
    |       |                                |              |       |
    |       |                                |              |       |
    |       |                                |              |       |
    |       |                                |              |       |
    |       |                                |              |       |
    |       |      SNMP        +-----------+ |   SNMP       |       |
    +-------+------------------+ SCSI      + +-+------------+-------+
                               | Management|
                               | (NMS)     |
                               +-----------+

   Figure 3: Multiple Hosts, Virtualization device and multiple Targets


   Figure 3 adds an in-band virtualization device, which encapsulates,
   and possibly modifies, the SCSI Target devices representation to the
   SCSI Initiator devices. It is common practice for an in-band
   virtualization device, to include both SCSI Target and Initiator

Hallak-Stamler et al     Expires August 2002               [Page  10]
                               SCSI MIB                     March 2002

   device functionality. Therefore, its SCSI MIB implementation
   includes both the SCSI Target and Initiator device objects. It
   should be noted that the Virtualization device might implement
   additional proprietary MIBs, as the SCSI MIB does not provide this
   kind of functionality.

   3.4 Bridging and Virtualization

   Storage virtualization is a concept that abstracts storage resources
   in such a way that, storage entities are provided as pool of logical
   entities.

   Usually the virtualization process is transparent the storage users
   (i.e. Hosts). Virtualization normally affects the SCSI entities
   represented to SCSI Initiators. However, the SCSI MIB should enable
   the representation of SCSI entities and their respective status,
   including error and performance-monitoring statistics. It should be
   possible to perform a limited number of configuration modification
   and diagnostic actions.

   The SCSI entities embodied in the bridging and virtualization
   devices should be represented by the SCSI MIB. However, Bridging and
   Virtualization devices configuration is beyond the above-described
   scope and therefore should be provided through enterprise MIBs.

   3.4 SCSI Commands MIB
   The definition of SCSI Command MIB is beyond the scope of this MIB.
   Future SCSI Command MIB's can link to this MIB, using the indices of
   the various objects in the SCSI MIB.

   4. Structure of the MIB

   This MIB is composed as traditionally with three main groups:
          . scsiObjects
          . scsiNotifications
          . scsiConformance

   The scsiObjects group is composed itself of four groups:

   4.1 General Group

   The scsiGeneral group contains the parameters general to the managed
   scsi entity. It contains also the generic device and port tables.

   Note that a SCSI entity may contain more than one SCSI device and
   more than one SCSI port.


   4.2 Initiator Group

   The scsiInitiator group contains all the managed information related
   to an initiator device and port. In addition, it contains the

Hallak-Stamler et al     Expires August 2002               [Page  11]
                               SCSI MIB                     March 2002

   scsiIntrDiscoveredTgt group that will allow a manager to check the
   targets and LUNs devices discovered by an initiator device or port.

   4.3 Target Group

   The scsiTarget group contains all the managed information related to
   a target device and port. In addition, it contains the
   scsiLogicalUnit group that summarizes all the managed information
   concerning logical units, LUN hierarchy and logical unit
   identifiers.

   4.4 The Transport Group

   This group is a collection of transports that can be used by SCSI.
   The transport fixes the format of SCSI Names and Identifiers.

   5. Relationship to Other MIBs

   5.1 Host Resource MIB

   This portion of MIB extends those managed objects to SCSI specific
   entities but doesn't contain reference to software like device
   driver. If MIB objects are required for installed packages of SCSI
   software, then the hrSWInstalledGroup of the host resource MIB (RFC
   2790 [22]) are the standard MIB objects to use.


   5.2 iSCSI MIB

To be supplied.

   6. MIBS Specific Issues

   6.1 Names and Identifiers

   The names and the identifiers of the SCSI devices, ports and logical
   units depend on the underlying transport protocols; their format and
   length vary accordingly. Please refer to [20] in order to get more
   details.

   6.2 Logical Unit Number

   The logical unit number is a 64-bit integer. This type does not
   exist in SMI and therefore, we need to define it as a textual
   convention for this MIB.

   6.3 State and status

   Definitions:
    - Protected: Protected objects are objects that are able to
   tolerate one or more objects failing without any loss of data or
   loss of data availability.

Hallak-Stamler et al     Expires August 2002               [Page  12]
                               SCSI MIB                     March 2002


   Reference:
   For more information on the logical unit states see the SCSI
   Controller Commands-2 (SCC-2) standard (NCITS.318-1998)

   Notification:
   Separate SNMP notifications may be enabled/disabled to notify of a
   change in any of the SCSI device status variables. A notification
   will be generated for each occurrence of the abnormal status (e.g.,
   if the SCSI device's current status is abnormal and another logical
   unit changes its status to from available another notification will
   occur). Other restrictions as to the frequency of the notifications
   are TBD.

   6.4 SCSI Domains

   SAM-2 specifies that devices belong to a domain. However, it is not
   usually possible to determine this from within a system, so domains
   are not represented within this MIB.

   7.Objects Population Examples

   This section provides a sample set of values for different scenarios
   in which a SCSI MIB can be implemented. The examples shown below are
   not a normative part of this draft and make some assumptions about
   the underlying implementation which are not based on actual
   implementations.
   The respective sections describe the sequence of object
   instantiations and attempts to explain non-typical values for
   attributes that are unique to that particular scenario.

   Note: While populating the objects, the population of statistics is
   not considered.


   7.1 Object Population: Target and Initiator on a pSCSI bus.

   This scenario deals with a SCSI target and Initiator attached to a
   parallel SCSI bus.
   We assume a HBA as the initiator and a disk as target. We assume
   that the target has one logical unit, addressed by LUN0, which is
   the default LUN. Parallel SCSI only has port identifiers, no port
   names. The transport pointer for parallel SCSI is set to 0 since,
   there is no reference transport (SPI) MIB protocol.

   Once the SCSI sytem is initialized, SNMP agent should be able to
   view the values of variables populated in the ScsiDevice,
   ScsiInitiatorDevice, ScsiTargetDevice,ScsiPort, ScsiTargetPort,
   ScsiInitiatorPort, ScsiLogicalUnit, ScsiLUIdentifier objects.

   The ScsiLun of the ScsiLunMap is populated by the ReportLuns
   command, which will give the list of all logicalUnit numbers
   associated with all logicalunits. As the ReportLUNs command can be

Hallak-Stamler et al     Expires August 2002               [Page  13]
                               SCSI MIB                     March 2002

   issued at any point of time after initialization, this object can be
   populated any time after the system is initialized.

   The ScsiTgtAuthorizedIntr population depends on the transport and
   the implementation.
   As this example scenario is parallel scsi, we deal with the ports.
   Hence the ScsiPortIndexOrZero is the index of the targetport  and
   ScsiTgtAuthIntrDevOrPort is "port". Same is the case with the
   variables in ScsiIntrAuthorizedTgt also.

   7.1.1 ScsiInstance Object

   Attributes                 Values
   ----------                 ------

   ScsiInstIndex              0001
   ScsiInstAlias              pSCSI-1
   ScsiInstReference          1000
   ScsiInstVendorVersion      1.0a


   7.1.2 ScsiDevice Object


   Attributes                 Values
   ----------                 ------
   ScsiInstIndex         0001         0001
   ScsiDeviceIndex       0001         0002
   ScsiDeviceAlias       pSCSI-HBA    pSCSI-Disk1
   ScsiDeviceRoles          I          T
   ScsiDevicePortNumber     1          1


   7.1.3 ScsiTargetDevice Object

   Attributes                 Values
   ----------                 ------

   ScsiInstIndex              0001
   ScsiDeviceIndex            0002
   NumberOfLUs                   1



   7.1.4 ScsiInitiatorDevice Object

   Attributes                  Values
   ----------                 ------
   ScsiInstIndex              0001
   ScsiDeviceIndex            0001


   7.1.5 ScsiPort Object

Hallak-Stamler et al     Expires August 2002               [Page  14]
                               SCSI MIB                     March 2002



   Attributes                  Values
   ----------                 ------
   ScsiInstIndex              0001 0001
   ScsiDeviceIndex            0001 0002
   ScsiPortIndex              0001 0002
   ScsiPortRoles              I       T
   ScsiPortTrnsptPtr          0      0



   7.1.6 ScsiTargetPort Object



   Attributes                 Values
   ----------                 ------
   ScsiInstIndex              0001
   ScsiDeviceIndex            0002
   ScsiPortIndex              0002
   ScsiPortName               -NA-
   ScsiTgtPortIdentifier       002


   7.1.7 ScsiInitiatorPort Object



   Attributes                 Values
   ----------                 ------
   ScsiInstIndex              0001
   ScsiDeviceIndex            0001
   ScsiPortIndex              0001
   ScsiPortName               -NA-
   ScsiPortIdentifier          001


   7.1.8 ScsiLunMap Object


   Attributes                 Values
   ----------                 ------


   ScsiInstIndex              0001
   ScsiDeviceIndex            0002
   ScsiLunMapIndex            0001
   ScsiLuIndex                0001
   ScsiLun                    LUN0
   ScsiLunRowStatus              5



Hallak-Stamler et al     Expires August 2002               [Page  15]
                               SCSI MIB                     March 2002



   7.1.9 ScsiTgtAuthorizedIntr Object


   Attributes                 Values
   ----------                 ------

   ScsiInstIndex              0001
   ScsiDeviceIndex            0002
   ScsiPortIndexOrZero        0002
   ScsiTgtAuthIntrIndex       0001
   ScsiTgtAuthIntrDevorPort   port
   ScsiTgtAuthIntrName        -NA-
   ScsiLunMapIndex            0001
   ScsiTgtAuthIntrRowStatus      5


   7.1.10 ScsiLogicalUnit Object


    Attributes                Values
    ----------                ------

   ScsiInstIndex              0001
   ScsiDeviceIndex            0002
   ScsiLuIndex                0001
   ScsiDefaultLun             lun0
   ScsiLuName                 xyz
   scsiLuVendorId             xyz-corp
   ScsiLuProductId            super turbo disk
   ScsiRevisionId             02


   7.1.11 ScsiLuIdentifer



   Attributes                 Values
   ----------                 ------
   ScsiInstIndex              0001
   ScsiDeviceIndex            0002
   ScsiLuIndex                0001
   ScsiLuIdIndex              0001
   ScsiLuIdCodeSet            2h   *1
   ScsiLuIdAssociation        1h   *2
   ScsiLuIdType               1h   *3
   ScsiLuIdValue              IETFsl318203-0004

   *1 - The identifier field will have ascii graphic codes.
   *2 - The identifier is associated with the port that received the
   request.

Hallak-Stamler et al     Expires August 2002               [Page  16]
                               SCSI MIB                     March 2002

   *3 - As defined in SPC (This value specifies that the LuIdValue
   contains a vendorID in the first 8 bytes concatenated with the
   product identifier field and product serial number for our example


   7.1.12 ScsiTgtAttIntrPort Object


   Attributes                 Values
   ----------                 ------

   ScsiInstIndex              0001
   ScsiDeviceIndex            0002
   ScsiPOrtIndex              0002
   ScsiTgtAttIntrIndex        0002
   ScsiTgtAuthIntrIndexOrZero 0001
   ScsiTgtAttIntrPortName     -NA-
   ScsiTgtAttIntrPortId        001



   7.1.13 ScsiIntrAttTgtPort Object


   Attributes                 Values
   ----------                 ------

   ScsiInstIndex              0001
   ScsiDeviceIndex            0001
   ScsiPOrtIndex              0001
   ScsiAttTgtPortIndex        0001
   ScsiIntrAuthTgtIndexOrZero 0002
   ScsiAttTgtPortName         -NA-
   ScsiIntrAttTgtPortId        002


   7.1.14 ScsiIntrAuthorizedTgt Object


   Attributes                 Values
   ----------                 ------

   ScsiInstIndex              0001
   ScsiDeviceIndex            0001
   ScsiPortIndexOrZero        0001
   ScsiIntrAuthTgtIndex       0001
   ScsiIntrAuthTgtDevorPort   port
   ScsiTgtAuthIntrName        -NA-
   SCsiIntrAuthTgtRowStatus      4




Hallak-Stamler et al     Expires August 2002               [Page  17]
                               SCSI MIB                     March 2002

   8. Abbreviations

   This MIB will use the following abbreviations:
   Inst = Instance
   Dev = Device
   Tgt = Target
   Intr = Initiator
   Att = Attached
   Id = Identifier
   Ident = Identifier
   Idx = Index
   Prt = Port
   Trns = Transport
   Dsc = Discovered


   9. Warning

   This paragraph will be removed in the final draft.
   The following topics were not covered in the MIB yet:
     * Conformance Statement
     * Statistics

   10. Object Definitions



   SCSI-MIB DEFINITIONS ::= BEGIN

   IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE,
   OBJECT-IDENTITY, NOTIFICATION-TYPE,
   Integer32, Unsigned32, Counter64, TimeTicks,
   mib-2, experimental                  FROM SNMPv2-SMI
   TEXTUAL-CONVENTION, TimeStamp, TruthValue,
   RowStatus, RowPointer, AutonomousType          FROM SNMPv2-TC
   MODULE-COMPLIANCE, OBJECT-GROUP                FROM SNMPv2-CONF
   SnmpAdminString                  FROM SNMP-FRAMEWORK-MIB;



   scsiModule MODULE-IDENTITY
   LAST-UPDATED "200202250000Z"         -- 25 February 2002
   ORGANIZATION "IETF"
   CONTACT-INFO "
   Michele Hallak-Stamler
   Sanrad Intelligent Network
   32 Habarzel Street
   Tel Aviv, Israel

   Phone: +972 3 7674809
   Email: michele@sanrad.com


Hallak-Stamler et al     Expires August 2002               [Page  18]
                               SCSI MIB                     March 2002


   Yaron Lederman
   Siliquent Technologies Ltd.
   33 Bezalel Street
   Ramat Gan, Israel

   Phone: +972 3 7552320
   Email: yaronl@siliquent.com

   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

   Keith McCloghrie
   Cisco Systems, Inc.
   Postal: 170 West Tasman Drive
   San Jose, CA USA 95134

   Tel: +1 408 526-5260
   E-mail: kzm@cisco.com

   Sajay Selvaraj,
   HCL Technologies,
   49-50, NM Road,
   Chennai - 29, India.

   Phone : +91-44-374 1939
   Email : sselvara@npd.hcltech.com

                       "
   DESCRIPTION  "The SCSI MIB"

   -- Revision History

   REVISION     "200202250000Z"

Hallak-Stamler et al     Expires August 2002               [Page  19]
                               SCSI MIB                     March 2002

   DESCRIPTION  " First Draft. Reflects the object model only and
   doesn't include statistics yet."

   ::= { experimental 15000}   -- must be changed in the future


   -- Textual Conventions
   ScsiLUNFormat  ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
   "It is:
   - a zero-length octet string or
   - a string of two octets if the underlying transport protocol is
   SBP-3 or SPI-4 using data group transfers or
   - a string of eight octets for all other cases."
   SYNTAX OCTET STRING (SIZE (0 | 2 | 8))

   ScsiIndexValue   ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
   "A number greater than zero for administrative indices in a table."
   SYNTAX Unsigned32(1..4294967295)

   ScsiPortIndexValueOrZero ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
   "This textual convention is an extension of the ScsiIndexValue
   convention.  The latter defines a greater than zero value used to
   identify an index.  This extension permits the additional value of
   zero and is applicable only to indices of SCSI port.  The value zero
   is object-specific and must therefore be defined as part of the
   description of any object, which uses this syntax.  Examples of the
   usage of zero might include situations where index was unknown, or
   when none or all indices need to be referenced."
   SYNTAX Unsigned32(0..4294967295)

   ScsiIndexValueOrZero ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
   "This textual convention is an extension of the ScsiIndexValue
   convention.  The latter defines a greater than zero value used to
   identify an index.  This extension permits the additional value of
   zero. The value zero is object-specific and must therefore be
   defined as part of the description of any object, which uses this
   syntax.  Examples of the usage of zero might include situations
   where index was unknown, or when none or all indices need to be
   referenced."
   SYNTAX Unsigned32(0..4294967295)

   ScsiIdentifier ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
   "Denotes a generic SCSI device or port identifier.

Hallak-Stamler et al     Expires August 2002               [Page  20]
                               SCSI MIB                     March 2002

   The format depends on the transport used:
   - SPI: only bits:0-3   for a port identifier (LSB is 0 and MSB is 3)
   - SPI: identifier of a device is a null-length octet string.
   - FCP: 3 bytes for a port identifier
   - FCP: identifier of a device is a null-length octet string.
   - SRP: 16 bytes identifier for a port.
   - SRP: identifier of a device is a null-length octet string.
   - iSCSI: 256 bytes for a device identifier.
   - iSCSI: 258 bytes for a target port.
   - iSCSI: 262 bytes for an initiator port.
   - SBP: identifier of a device is a null-length octet string.
   - SBP: 2 bytes for an initiator port identifier.
   - SBP: 11 bytes for a target port identifier. "
   SYNTAX OCTET STRING (SIZE (0 | 1 | 2 | 3| 11 | 16 | 256| 258|262))

   ScsiName ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
   "Denotes a generic SCSI device or port name.
   The format depends on the transport used:
   - SPI: name of a device or a port is a null-length octet string.
   - FCP: 8 bytes for a port name.
   - FCP: name of a device is a null-length octet string.
   - SRP: 16 bytes name for a port.
   - SRP: name of a device is a null-length octet string.
   - iSCSI: 256 bytes for a device name.
   - iSCSI: 258 bytes for a target port.
   - iSCSI: 262 bytes for an initiator port.
   - SBP: name of a device is a null-length octet string.
   - SBP: 8 bytes for an initiator port name.
   - SBP: 11 bytes for a target port name. "
   SYNTAX OCTET STRING (SIZE (0 | 8 | 11 |16 | 256 | 258| 262))

   ScsiDeviceOrPort ::= TEXTUAL-CONVENTION
   STATUS current
   DESCRIPTION
   "This type allows to decide if some configuration is applicable to a
   port or to a device."
   SYNTAX INTEGER   {
     device(1),
     port(2),
     other(3)
     }

   scsiObjects      OBJECT IDENTIFIER ::= { scsiModule 1 }
   scsiNotifications     OBJECT IDENTIFIER ::= { scsiModule 2 }
   scsiConformance  OBJECT IDENTIFIER ::= { scsiModule 3 }

   scsiTransportTypes    OBJECT IDENTIFIER ::= { scsiObjects 1 }
   scsiGeneral           OBJECT IDENTIFIER ::= { scsiObjects 2 }
   scsiInitiator         OBJECT IDENTIFIER ::= { scsiObjects 3 }
   scsiTarget       OBJECT IDENTIFIER ::= { scsiObjects 4 }
   scsiLogicalUnit       OBJECT IDENTIFIER ::= { scsiTarget 8 }

Hallak-Stamler et al     Expires August 2002               [Page  21]
                               SCSI MIB                     March 2002



   -- Transport Types
   scsiTranportOther     OBJECT IDENTIFIER ::= { scsiTransportTypes 1 }
   scsiTranportSPI       OBJECT IDENTIFIER ::= { scsiTransportTypes 2 }
   scsiTransportFCP OBJECT IDENTIFIER ::= { scsiTransportTypes 3 }
   scsiTransportSRP OBJECT IDENTIFIER ::= { scsiTransportTypes 4 }
   scsiTransportISCSI    OBJECT IDENTIFIER ::= { scsiTransportTypes 5 }
   scsiTransportSBP OBJECT IDENTIFIER ::= { scsiTransportTypes 6 }

   -- Comparatively to iSCSI MIB, I'm removing one level of OBJECT ID
   -- tree.
   scsiGenInstanceTable OBJECT-TYPE
    SYNTAX           SEQUENCE OF ScsiGenInstanceEntry
    MAX-ACCESS       not-accessible
    STATUS           current
    DESCRIPTION
   "A list of SCSI instances present on the system.
   The SCSI Instance is the top-level entity, to which everything else
   belongs. An SNMP agent could represent more   than one instance if
   it represents either a stack of devices, or virtual partitions of a
   larger device, or a host   running multiple SCSI implementations
   from different vendors."
   ::= { scsiGeneral 1 }

   scsiGenInstanceEntry OBJECT-TYPE
   SYNTAX           ScsiGenInstanceEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row) containing management information applicable to a
   particular SCSI instance."
   INDEX { scsiInstIndex }
   ::= { scsiGenInstanceTable 1 }

   ScsiGenInstanceEntry::= SEQUENCE {
          scsiInstIndex                 ScsiIndexValue,
          scsiInstAlias                 SnmpAdminString,
          scsiInstReference             Integer32,
          scsiInstVendorVersion         SnmpAdminString,
          scsiInstScsiDeviceNumber      Unsigned32,
          scsiInstScsiNotificationsEnable    TruthValue
   }

   scsiInstIndex OBJECT-TYPE
   SYNTAX          ScsiIndexValue
   MAX-ACCESS      not-accessible
   STATUS      current
   DESCRIPTION
   "An arbitrary integer used to uniquely identify a particular SCSI
   instance."
   ::= { scsiGenInstanceEntry 1 }


Hallak-Stamler et al     Expires August 2002               [Page  22]
                               SCSI MIB                     March 2002

   scsiInstAlias OBJECT-TYPE
   SYNTAX           SnmpAdminString
   MAX-ACCESS  read-write
   STATUS           current
   DESCRIPTION
   "An administrative string, configured by the administrator to the
   usage of the administrator. Can be a zero-length string."
   ::= { scsiGenInstanceEntry 2 }

   scsiInstReference    OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The index in the hrSWInstalledTable of RFC 2790 corresponding to
   this software entity. It is equal to zero if there is bo reference
   in the hrSWInstalledTable."
   ::= { scsiGenInstanceEntry 3 }

   scsiInstVendorVersion OBJECT-TYPE
   SYNTAX      SnmpAdminString
   MAX-ACCESS       read-only
   STATUS           current
   DESCRIPTION
   "A text string set by the manufacturer describing the version 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 SCSI specification version numbers."
   ::= { scsiGenInstanceEntry 4 }

   scsiInstScsiDeviceNumber OBJECT-TYPE
   SYNTAX      Unsigned32 (1..4294967295)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The number of SCSI Device currently associated with this SCSI
   instance."
   ::= { scsiGenInstanceEntry 5 }

   scsiInstScsiNotificationsEnable OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
   "This object allows to enable/disable sending notifications."
   DEFVAL { true }
   ::= { scsiGenInstanceEntry 6 }


   -- SCSI Devices
   scsiDeviceTable  OBJECT-TYPE
   SYNTAX           SEQUENCE OF ScsiDeviceEntry
   MAX-ACCESS       not-accessible

Hallak-Stamler et al     Expires August 2002               [Page  23]
                               SCSI MIB                     March 2002

   STATUS           current
   DESCRIPTION
   "A list of SCSI Devices present on the system."
   ::= { scsiGeneral 2 }

   scsiDeviceEntry OBJECT-TYPE
   SYNTAX      ScsiDeviceEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row) containing management information applicable to a
   particular SCSI Device included in this SCSI manageable instance."
   INDEX { scsiInstIndex, scsiDeviceIndex }
   ::= { scsiDeviceTable 1 }

   ScsiDeviceEntry::= SEQUENCE {
          scsiDeviceIndex          ScsiIndexValue,
          scsiDeviceAlias          SnmpAdminString,
          scsiDeviceRole           BITS,
          scsiDevicePortNumber     Unsigned32,
          scsiDeviceStatus         INTEGER
   }

   scsiDeviceIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "An arbitrary integer used to uniquely identify a particular
   device."
   ::= { scsiDeviceEntry 1 }

   scsiDeviceAlias OBJECT-TYPE
   SYNTAX      SnmpAdminString
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
   "An admistrative name for this device. May be empty."
   ::= { scsiDeviceEntry 2 }

   scsiDeviceRole OBJECT-TYPE
   SYNTAX      BITS {
          target(0),
          initiator(1)
          }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "Is this device acting as an initiator, or as a target or as both."
   ::= { scsiDeviceEntry 3 }

   scsiDevicePortNumber OBJECT-TYPE
   SYNTAX      Unsigned32

Hallak-Stamler et al     Expires August 2002               [Page  24]
                               SCSI MIB                     March 2002

   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The number of ports contained in this device."
   ::= { scsiDeviceEntry 4 }

   scsiDeviceStatus OBJECT-TYPE
   SYNTAX      INTEGER {
          unknown(1),
          available(2),
          broken(3),
          readying(4),
          abnormal(5),
          nonAddrFailure(6),
          nonAddrFailReadying(7),
          nonAddrFailAbnormal(8)
          }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The status of this SCSI device:
   - unknown(1): This value is used when the status cannot be
   determined
   - available(2): All addressable and non-addressable devices within
   the SCSI device are fully operational (i.e., no logical units have
   an abnormal status).
   - broken(3): The SCSI device is not operational and cannot be made
   operational without external intervention.
   - readying(4): One or more logical units within the SCSI device are
   being initialized and access to the SCSI device is temporarily
   limited (i.e., one or more of the logical unit have a readying
   status).
   - abnormal(5): One or more addressable devices within the SCSI
   device are indicating a status other than available; nevertheless,
   the SCSI device is operational (i.e., one or more of the logical
   units have an abnormal status).
   - nonAddrFailure(6): One or more non-addressable devices within the
   SCSI device have failed; nevertheless, the SCSI device is
   operational (i.e., no logical units have an abnormal or readying
   status).
   - nonAddrFailReadying(7): One or more non-addressable devices within
   the SCSI device have failed; nevertheless,one or more logical units
   within the SCSI device are being initialized and access to the SCSI
   device is temporarily limited.
   - nonAddrFailAbnormal(8): One or more non-addressable devices within
   the SCSI device have failed and one or more addressable devices
   within the SCSI device are indicating a status other than available
   however the SCSI device is operational.
   "
   REFERENCE
   "SCSI Controller Commands-2 (SCC-2) standard NCITS.318-1998)"
   ::= { scsiDeviceEntry 5}


Hallak-Stamler et al     Expires August 2002               [Page  25]
                               SCSI MIB                     March 2002


   -- Ports Table
   scsiPortTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF ScsiPortEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "A list of SCSI Ports for each SCSI device in each instance."
   ::= { scsiGeneral 3 }

   scsiPortEntry OBJECT-TYPE
          SYNTAX              ScsiPortEntry
          MAX-ACCESS          not-accessible
          STATUS              current
          DESCRIPTION
   "An entry (row) containing management information applicable to a
   particular SCSI port of a particular SCSI device in a particular
   SCSI instance."
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiPortIndex }
   ::= { scsiPortTable  1 }

   ScsiPortEntry ::= SEQUENCE {
          scsiPortIndex       ScsiIndexValue,
          scsiPortRole        BITS,
          scsiPortTrnsptPtr   ScsiIndexValue
   }

   scsiPortIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "An arbitrary integer used to uniquely identify a particular port."
   ::= { scsiPortEntry 1 }

   scsiPortRole OBJECT-TYPE
   SYNTAX      BITS {
          target(0),
          initiator(1)
          }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "This object indicated whther this port is acting as an initiator,
   or as a target or as both."
   ::= { scsiPortEntry 2 }

   scsiPortTrnsptPtr OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION

Hallak-Stamler et al     Expires August 2002               [Page  26]
                               SCSI MIB                     March 2002

   "This object is the index of the corresponding transport definition
   in the scsiTrnsptTable"
   ::= { scsiPortEntry 3 }


   -- Table of supported transports
   scsiTrnsptTable OBJECT-TYPE
   SYNTAX           SEQUENCE OF ScsiTrnsptEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "This table contains a list of transports in use with each SCSI
   device."
   ::= { scsiGeneral 5 }

   scsiTrnsptEntry OBJECT-TYPE
   SYNTAX                ScsiTrnsptEntry
   MAX-ACCESS            not-accessible
   STATUS                current
   DESCRIPTION
   "An entry (row) containing parameters applicable to a transport used
   by a particular initiator device of a particular SCSI manageable
   instance."
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiIntrTrnsptIndex}
   ::= { scsiTrnsptTable 1 }

   ScsiTrnsptEntry ::= SEQUENCE {
     scsiTrnsptIndex     ScsiIndexValue,
     scsiTrnsptType      AutonomousType,
     scsiTrnsptPointer   RowPointer,
     scsiTrnsptDevName   ScsiName
   }

   scsiTrnsptIndex  OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "An administrative integer used to uniquely identify a particular
   transport."
   ::= { scsiTrnsptEntry 1 }

   scsiTrnsptType   OBJECT-TYPE
   SYNTAX      AutonomousType
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The type of transport for this particular transport."
   ::= { scsiTrnsptEntry 2 }

   scsiTrnsptPointer     OBJECT-TYPE
   SYNTAX      RowPointer
   MAX-ACCESS  read-only

Hallak-Stamler et al     Expires August 2002               [Page  27]
                               SCSI MIB                     March 2002

   STATUS      current
   DESCRIPTION
   "A pointer to a conceptual row in a 'transport' MIB allowing a
   manager to get useful information for the transport described by
   this entry.
   For example, if the transport of this device is iSCSI, this object
   will point to the iSCSI Instance of the iSCSI MIB.
   If there is no MIB for this transport, this object has the value
   0.0."
   ::= { scsiTrnsptEntry 3 }


   scsiTrnsptDevName     OBJECT-TYPE
   SYNTAX      ScsiName
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The name of this device in one of the format(s) appropriate for
   this type of transport."
   ::= { scsiTrnsptEntry 4 }


   -- Management Objects regarding initiators
   scsiInitiatorDeviceTable  OBJECT-TYPE
   SYNTAX           SEQUENCE OF ScsiInitiatorDeviceEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "This table contains information for each local initiator device."
    ::= { scsiInitiator 1}

   scsiInitiatorDeviceEntry OBJECT-TYPE
   SYNTAX           ScsiInitiatorDeviceEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row) containing information applicable to an initiator
   device."
   INDEX { scsiInstIndex, scsiDeviceIndex }
   ::= { scsiInitiatorDeviceTable  1 }

   ScsiInitiatorDeviceEntry ::= SEQUENCE {
     scsiIntrDeviceTargetAccessMode     INTEGER,
     scsiInitiatorOutDeviceResets       Counter32
          -- More statistics to be placed here
     }

   scsiIntrDeviceTargetAccessMode  OBJECT-TYPE
   SYNTAX INTEGER {
          unknown(1),
          noNeedToConfigure(2),
          needToConfigure(3)
     }

Hallak-Stamler et al     Expires August 2002               [Page  28]
                               SCSI MIB                     March 2002

   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
   "This object controls whether a discovered target is immediately
   authorized or not:
   - noNeedToConfigure(2) means that when an initiator discovers a
   target, it can use it immediately,
   - needToConfigure(3) means that the initiator must wait for an
   operator to set scsiIntrDscTgtDiscovered  =true before
   it is authorized."
   ::= { scsiInitiatorDeviceEntry 1 }

   scsiInitiatorOutDeviceResets    OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "Number of resets sent by this initiator device since the local
   agent's last re-initialization."
   ::= { scsiInitiatorDeviceEntry 2 }



   -- The following section describes managed objects related to
   -- initiator ports.
   scsiInitiatorPortTable OBJECT-TYPE
   SYNTAX          SEQUENCE OF ScsiInitiatorPortEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "This table contains all the initiator ports of each SCSI Initiator
   or Target/Initiator device."
   ::= { scsiInitiator 3 }

   scsiInitiatorPortEntry OBJECT-TYPE
   SYNTAX          ScsiInitiatorPortEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "An entry (row) containing information applicable to the particular
   initiator port. "
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiPortIndex }
   ::= { scsiInitiatorPortTable 1 }

   ScsiInitiatorPortEntry ::= SEQUENCE {
     scsiIntrPortName         ScsiName,
     scsiIntrPortIdentifier   ScsiIdentifier
   }


   scsiIntrPortName OBJECT-TYPE
   SYNTAX      ScsiName
   MAX-ACCESS  read-only

Hallak-Stamler et al     Expires August 2002               [Page  29]
                               SCSI MIB                     March 2002

   STATUS      current
   DESCRIPTION
   "The name of the port assigned for use by the SCSI protocol. The
   format will depend of the type of transport this port is using."
   ::= { scsiInitiatorPortEntry 1 }


   scsiIntrPortIdentifier OBJECT-TYPE
   SYNTAX      ScsiIdentifier
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The identifier of the port in one of the format(s) appropriate for
   the type of transport in use."
   ::= { scsiInitiatorPortEntry 2 }


   -- Statistics for Initiator ports will be placed here.
   -- scsiIntrPortStatTable OBJECT-TYPE
   --     SYNTAX           SEQUENCE OF ScsiIntrPortStatEntry
   --     MAX-ACCESS       not-accessible
   --     STATUS           current
   --     DESCRIPTION
   --     "This table contains statistics for all the initiator ports
   ---    of each SCSI Initiator or Target/Initiator device."
   --     ::= { scsiInitiator 4}


   -- Discovered Target groups
   scsiIntrDiscoveredTarget OBJECT IDENTIFIER ::= { scsiInitiator 5 }

   -- Targets discovered or authorized to attach each of the initiator
   ports of each initiator device of each instance.
   scsiIntrDiscoveredTgtTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF ScsiIntrDiscoveredTgtEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "This table includes all the remote (not in the local system) target
   ports that are authorized to attach to each local initiator port of
   this SCSI instance."
   ::= { scsiIntrDiscoveredTarget 1 }

   scsiIntrDiscoveredTgtEntry OBJECT-TYPE
   SYNTAX           ScsiIntrDiscoveredTgtEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row)represents a remote target port or device authorized
   to attach the local initiator device corresponding to the
   scsiDeviceIndex or the local initiator port scsiPortIndexOrZero. "
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiIntrPortIndexOrZero,
   scsiIntrDscTgtIndex }

Hallak-Stamler et al     Expires August 2002               [Page  30]
                               SCSI MIB                     March 2002

   ::= { scsiIntrDiscoveredTgtTable 1 }

   ScsiIntrDiscoveredTgtEntry ::= SEQUENCE {
     scsiIntrPortIndexOrZero  ScsiPortIndexValueOrZero,
     scsiIntrDscTgtIndex      ScsiIndexValue,
     scsiIntrDscTgtDevOrPort  ScsiDeviceOrPort,
     scsiIntrDscTgtName       ScsiName,
     scsiIntrDscTgtConfigured TruthValue,
     scsiIntrDscTgtDiscovered TruthValue,
     scsiIntrDscTgtRowStatus  RowStatus
   }


   scsiIntrPortIndexOrZero    OBJECT-TYPE
   SYNTAX      ScsiPortIndexValueOrZero
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "This object is:
   - the index of the local scsi initiator port,
   - or zero, if this entry refers to the local device and therefore
   refers to all the local initiator ports."
   ::= { scsiIntrDiscoveredTgtEntry 1 }

   scsiIntrDscTgtIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "This object is an administrative integer used to uniquely identify
   a particular authorized target.
   (Authorized to attach to this initiator device or port.)"
   ::= { scsiIntrDiscoveredTgtEntry 2 }

   scsiIntrDscTgtDevOrPort OBJECT-TYPE
   SYNTAX      ScsiDeviceOrPort
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
   "This object specifies if this entry refers to a remote target port
   or remote target device."
   ::= { scsiIntrDiscoveredTgtEntry 3 }

   scsiIntrDscTgtName OBJECT-TYPE
   SYNTAX      ScsiName
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
   "The name of this authorized/discovered target device or port."
   ::= { scsiIntrDiscoveredTgtEntry 4 }

   scsiIntrDscTgtConfigured OBJECT-TYPE
   SYNTAX      TruthValue

Hallak-Stamler et al     Expires August 2002               [Page  31]
                               SCSI MIB                     March 2002

   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
   "This object means:
   true(1): this entry has been configured by an administrator
   false(2): this entry has been added from other source.
   An administrator can switch this value from false to true."
   DEFVAL { true }
   ::= { scsiIntrDiscoveredTgtEntry 5 }

   scsiIntrDscTgtDiscovered OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "This object means:
   true(1): this entry has been discovered by the SCSI instance.
   false(2): this entry has been added from other source.
   This entry is read-only because an administrator cannot change it.
   Note that it is an implementation issue to decide how long to retain
   a row with configured=false, as and when the target is no longer
   visible/accessible to the local initiator."
   ::= { scsiIntrDiscoveredTgtEntry 6 }


   scsiIntrDscTgtRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
   "This object allows to configure dynamically a new entry in this
   table via SNMP or eventually delete it.
   An administrator is not allowed to delete an entry where the object
   scsiIntrDscTgtDiscovered is equal to true."
   ::= { scsiIntrDiscoveredTgtEntry 7 }


   -- LUNs discovered
   scsiIntrDscLunsTable OBJECT-TYPE
   SYNTAX           SEQUENCE OF ScsiIntrDscLunsEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "This table includes all the remote (not in the local system) LUNS
   discovered via each local initiator port of each SCSI instance."
   ::= { scsiIntrDiscoveredTarget 2 }

   scsiIntrDscLunsEntry OBJECT-TYPE
   SYNTAX           ScsiIntrDscLunsEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION

Hallak-Stamler et al     Expires August 2002               [Page  32]
                               SCSI MIB                     March 2002

   "An entry (row) represents a LUN discovered by the local initiator
   device  or by the local initiator port."
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiIntrPortIndexOrZero,
   scsiIntrDscTgtIndex, scsiIntrDscLunIndex }
   ::= { scsiIntrDscLunsTable 1 }

   ScsiIntrDscLunsEntry ::= SEQUENCE {
     scsiIntrDscLunIndex ScsiIndexValue,
     scsiIntrDscLun      ScsiLUNFormat
   }


   scsiIntrDscLunIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "This object is an administrative integer used to uniquely identify
   a particular LUN discovered by a particular scsi initiator port or
   device. This index will point to an entry for this LUN in the
   scsiIntrDscLunIdTable."
   ::= { scsiIntrDscLunsEntry 1 }

   scsiIntrDscLun   OBJECT-TYPE
   SYNTAX      ScsiLUNFormat
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "This object is the actual value of the LUN of the discovered
   logical unit."
   ::= { scsiIntrDscLunsEntry 2 }


   -- LU Identifiers discovered
   scsiIntrDscLunIdTable OBJECT-TYPE
   SYNTAX           SEQUENCE OF ScsiIntrDscLunIdEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "This table includes all the remote (not in the local system) LU
   Identifier discovered via each local initiator port or device of
   this SCSI instance."
   ::= { scsiIntrDiscoveredTarget 3 }

   scsiIntrDscLunIdEntry OBJECT-TYPE
   SYNTAX           ScsiIntrDscLunIdEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row) represents a LU Identifier discovered by each SCSI
   initiator device or port."
   INDEX { scsiInstIndex, scsiDeviceIndex,scsiIntrPortIndexOrZero,
   scsiIntrDscTgtIndex, scsiIntrDscLunIndex, scsiIntrDscLunIdIndex }

Hallak-Stamler et al     Expires August 2002               [Page  33]
                               SCSI MIB                     March 2002

   ::= { scsiIntrDscLunIdTable 1 }

   ScsiIntrDscLunIdEntry ::= SEQUENCE {
     scsiIntrDscLunIdIndex         ScsiIndexValue,
     scsiIntrDscLunIdCodeSet       Unsigned32,
     scsiIntrDscLunIdAssociation   Unsigned32,
     scsiIntrDscLunIdType          Unsigned32,
     scsiIntrDscLunIdValue         OCTET STRING
   }


   scsiIntrDscLunIdIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "This object is an administrative integer used to uniquely identify
   a particular LUN Identifier discovered by each scsi initiator device
   or port."
   ::= { scsiIntrDscLunIdEntry 1 }

   scsiIntrDscLunIdCodeSet OBJECT-TYPE
   SYNTAX          Unsigned32(0..255)
   MAX-ACCESS      read-only
   STATUS          current
   DESCRIPTION
   "This object determines the code set in use for this identifier as
   specified by the ANSI-SCSI Primary Commands -2 document; the code
   set can be binary or ascii."
   REFERENCE " ANSI - SCSI Primary Commands - 2 [19]"
   ::= { scsiIntrDscLunIdEntry 2 }

   scsiIntrDscLunIdAssociation OBJECT-TYPE
   SYNTAX          Unsigned32(0..255)
   MAX-ACCESS      read-only
   STATUS          current
   DESCRIPTION
   "This value means that the identifier is associated with the
   addressed physical or logical device or that the identifier is
   associated with the port that received the request."
   REFERENCE " ANSI - SCSI Primary Commands - 2 [19]"
   ::= { scsiIntrDscLunIdEntry 3 }

   scsiIntrDscLunIdType OBJECT-TYPE
   SYNTAX          Unsigned32(0..255)
   MAX-ACCESS      read-only
   STATUS          current
   DESCRIPTION
   "This object defines the type of LU Identifier used for this
   identifier and indicates the format of scsiLUIdValue.
   It might be:
   - 0: proprietary means that the format used for this LU Identifier
   is vendor-specific,

Hallak-Stamler et al     Expires August 2002               [Page  34]
                               SCSI MIB                     March 2002

   - 1: annexD means that this LU Identifier starts with an 8-bytes T10
   Vendor ID.
   - 2: eui64 means that the format used for this LU Identifier is IEEE
   Extended Unique Identifier of 64 bits (EUI-64)
   - 3: fcfs means that this LU Identifier contains an FC-FS
   identifier.
   - 4: relative means that this LU Identifier contains the relative
   position of the port. This type is used when the scsiLUIdAssociation
   points to port."
   REFERENCE " ANSI - SCSI Primary Commands - 2 [19]"
   ::= { scsiIntrDscLunIdEntry 4 }

   scsiIntrDscLunIdValue OBJECT-TYPE
   SYNTAX          OCTET STRING (SIZE (0..255))
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The actual value of this identifier. The format is defined by the
   objects scsiIntrDscLunIdCodeSet, scsiIntrDscLunIdAssociation,
   scsiIntrDscLunIdType."
   ::= { scsiIntrDscLunIdEntry 5 }



   -- Table of Targets Attached to local Initiator Ports
   scsiIntrAttTgtPortTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF ScsiIntrAttTgtPortEntry
   MAX-ACCESS  not-accessible
   STATUS          current
   DESCRIPTION
   "This table includes all the remote (not in the local system) target
   ports that are currently attached to each local initiator port of
   this SCSI instance."
   ::= { scsiInitiator 6 }

   scsiIntrAttTgtPortEntry OBJECT-TYPE
   SYNTAX           ScsiIntrAttTgtPortEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row) represents a remote target port currently attached
   to the local initiator port corresponding to the scsiPortIndex. "
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiPortIndex,
   scsiIntrAttTgtPortIndex }
   ::= { scsiIntrAttTgtPortTable 1 }

   ScsiIntrAttTgtPortEntry ::= SEQUENCE {
     scsiIntrAttTgtPortIndex       ScsiIndexValue,
     scsiIntrAuthTgtIndexOrZero    ScsiIndexValueOrZero,
     scsiIntrAttTgtPortName        ScsiName,
     scsiIntrAttTgtPortIdentifier  ScsiIdentifier
   }


Hallak-Stamler et al     Expires August 2002               [Page  35]
                               SCSI MIB                     March 2002

   scsiIntrAttTgtPortIndex    OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "An administrative integer used to uniquely identify a particular
   currently attached target."
   ::= { scsiIntrAttTgtPortEntry 1 }

   scsiIntrAuthTgtIndexOrZero OBJECT-TYPE
   SYNTAX      ScsiIndexValueOrZero
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The corresponding index in the scsiIntrDiscoveredTgtTable for this
   current attached target port or zero if this attached target port is
   not in the table."
   ::= { scsiIntrAttTgtPortEntry 2 }

   scsiIntrAttTgtPortName OBJECT-TYPE
   SYNTAX      ScsiName
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The name of the remote target port attached to this initiator
   port."
   ::= { scsiIntrAttTgtPortEntry 3 }


   scsiIntrAttTgtPortIdentifier OBJECT-TYPE
   SYNTAX      ScsiIdentifier
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The identifier of the remote target port attached to this local
   initiator port."
   ::= { scsiIntrAttTgtPortEntry 4 }

   -- Statistics per target attached port to local initiator port
   -- scsiIntrAttTgtPrtStatTable OBJECT-TYPE
   --     SYNTAX           SEQUENCE OF ScsiIntrAttTgtPrtStatEntry
   --     MAX-ACCESS       not-accessible
   --     STATUS           current
   --     DESCRIPTION
   --     "This table includes statistics for all the remote (not in
   --     the current system) target ports that are currently attached
   --     to each local initiator port of this entity."
   --     ::= { scsiInitiator 7 }


   -- Management Objects regarding target type of scsi devices
   --
   scsiTargetDeviceTable OBJECT-TYPE

Hallak-Stamler et al     Expires August 2002               [Page  36]
                               SCSI MIB                     March 2002

   SYNTAX  SEQUENCE OF ScsiTargetDeviceEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "This table contains information about each local target device."
   ::= { scsiTarget 1 }

   scsiTargetDeviceEntry OBJECT-TYPE
   SYNTAX           ScsiTargetDeviceEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row) containing information applicable to a particular
   local target device. "
   INDEX { scsiInstIndex, scsiDeviceIndex }
   ::= { scsiTargetDeviceTable 1 }

   ScsiTargetDeviceEntry ::= SEQUENCE {
          scsiTargetDeviceNumberOfLogicalUnits    Unsigned32
       }

   scsiTargetDeviceNumberOfLogicalUnits  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "This object is the number of Logical Units accessible via this
   local target device."
   ::= { scsiTargetDeviceEntry 1 }

   -- Statistics per target device will be placed here
   --          scsiTargetDevStatTable OBJECT-TYPE
   --          SYNTAX           SEQUENCE OF ScsiTargetDevStatEntry
   --          MAX-ACCESS       not-accessible
   --          STATUS           current
   --          DESCRIPTION
   --          "This table is an extension of the device table
   --          including statistics specific to a target device."
   --          ::= { scsiTarget 2 }



   -- Target Port Table
   scsiTargetPortTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ScsiTargetPortEntry
   MAX-ACCESS  not-accessible
   STATUS          current
   DESCRIPTION
   "This table includes all the local target ports of all the local
   target devices."
   ::= { scsiTarget 3 }

   scsiTargetPortEntry OBJECT-TYPE

Hallak-Stamler et al     Expires August 2002               [Page  37]
                               SCSI MIB                     March 2002

   SYNTAX           ScsiTargetPortEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row) containing information applicable to a particular
   local target port of a particular local target device. "
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiPortIndex}
   ::= { scsiTargetPortTable 1 }

   ScsiTargetPortEntry ::= SEQUENCE {
     scsiTargetPortName       ScsiName,
     scsiTargetPortIdentifier ScsiIdentifier
       }

   scsiTargetPortName OBJECT-TYPE
   SYNTAX      ScsiName
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The name of the port assigned for use in the SCSI protocol."
   ::= { scsiTargetPortEntry 1 }

   scsiTargetPortIdentifier OBJECT-TYPE
   SYNTAX      ScsiIdentifier
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The identifier of the port in one of the format(s) appropriate for
   the type of transport."
   ::= { scsiTargetPortEntry 2 }


   -- Target Port Statistic Table will be placed here
   --     scsiTargetPortStatTable OBJECT-TYPE
   --     SYNTAX           SEQUENCE OF ScsiTargetPortStatEntry
     --   MAX-ACCESS       not-accessible
   --     STATUS           current
   --     DESCRIPTION
   --     "This table includes the statistics for the target ports of
   --     all the SCSI target devices."
   --     ::= { scsiTarget 4 }

   -- The scsiTgtAuthorizedIntrTable contains the list of remote
   initiator ports that are authorized
   -- to be attached specific target ports and on which, an
   -- administrator would like to keep permanent information and long
   -- term statistics even when not currently attached.
   scsiTgtAuthorizedIntrTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF ScsiTgtAuthorizedIntrEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION

Hallak-Stamler et al     Expires August 2002               [Page  38]
                               SCSI MIB                     March 2002

   "This table includes all the authorized initiator devices or ports
   that may attach a target device or port of the local SCSI entity and
   that may interest an administrator, like statistics."
   ::= { scsiTarget 5 }

   scsiTgtAuthorizedIntrEntry OBJECT-TYPE
   SYNTAX          ScsiTgtAuthorizedIntrEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "An entry (row) represents a remote initiator port that may attach
   the local target port."
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiTgtPortIndexOrZero,
   scsiTgtAuthIntrIndex }
   ::= { scsiTgtAuthorizedIntrTable 1 }

   ScsiTgtAuthorizedIntrEntry ::= SEQUENCE {
     scsiTgtPortIndexOrZero   ScsiPortIndexValueOrZero,
     scsiTgtAuthIntrIndex     ScsiIndexValue,
     scsiTgtAuthIntrDevOrPort ScsiDeviceOrPort,
     scsiTgtAuthIntrName      ScsiName,
     scsiTgtAuthIntrLunMapIndex    ScsiIndexValueOrZero,
     scsiTgtAuthIntrRowStatus RowStatus
     }


   scsiTgtPortIndexOrZero     OBJECT-TYPE
   SYNTAX      ScsiPortIndexValueOrZero
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "This object is:
   - the index of the local scsi target port,
   - or zero, if this entry refers to a local target device."
   ::= { scsiTgtAuthorizedIntrEntry 1 }

   scsiTgtAuthIntrIndex  OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "This object is an administrative integer used to uniquely identify
   a particular authorized initiator.
   (Authorized to attach to this target device or port.)"
   ::= { scsiTgtAuthorizedIntrEntry 2 }

   scsiTgtAuthIntrDevOrPort OBJECT-TYPE
   SYNTAX      ScsiDeviceOrPort
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
   "This object specifies if this entry refers to a remote initiator
   port or a device."

Hallak-Stamler et al     Expires August 2002               [Page  39]
                               SCSI MIB                     March 2002

   ::= { scsiTgtAuthorizedIntrEntry 3 }

   scsiTgtAuthIntrName OBJECT-TYPE
   SYNTAX      ScsiName
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
   "The name of the remote initiator device or port authorized to
   attach this local target device or port."
   ::= { scsiTgtAuthorizedIntrEntry 4 }

   scsiTgtAuthIntrLunMapIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValueOrZero
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
   "This object identifies the set of entries in the scsiLunMapTable
   for which scsiLunMapIndex has the same value as the value of this
   object.  The identified set of entries constitute the LUN map to be
   used for accessing logical units when the remote initiator
   corresponding to this entry is attached to any local target
   corresponding to this entry.
   Note that this object has a value of zero if this entry should use
   the default LUN map."
   ::= { scsiTgtAuthorizedIntrEntry 5 }

   scsiTgtAuthIntrRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
   "This object allows an administrator to create or delete this
   entry."
   ::= { scsiTgtAuthorizedIntrEntry 6 }

   -- Table of Initiators Attached to local Target Ports
   scsiTgtAttIntrPortTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF ScsiTgtAttIntrPortEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "This table includes all the remote initiator ports that are
   currently attached to each local target port of this local entity."
   ::= { scsiTarget 6 }

   scsiTgtAttIntrPortEntry OBJECT-TYPE
   SYNTAX          ScsiTgtAttIntrPortEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "An entry (row) represents a remote initiator currently attached to
   a particular local target port of a particular target device of a
   particular SCSI entity."

Hallak-Stamler et al     Expires August 2002               [Page  40]
                               SCSI MIB                     March 2002

   INDEX { scsiInstIndex, scsiDeviceIndex, scsiPortIndex,
   scsiTgtAttIntrIndex }
   ::= { scsiTgtAttIntrPortTable 1 }

   ScsiTgtAttIntrPortEntry ::= SEQUENCE {
     scsiTgtAttIntrIndex           ScsiIndexValue,
     scsiTgtAuthIntrIndexOrZero    ScsiIndexValueOrZero,
     scsiTgtAttIntrPortName        ScsiName,
     scsiTgtAttIntrPortId          ScsiIdentifier
       }

   scsiTgtAttIntrIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "An administrative integer used to uniquely identify a particular
   attached remote initiator port."
   ::= { scsiTgtAttIntrPortEntry 1 }

   scsiTgtAuthIntrIndexOrZero OBJECT-TYPE
   SYNTAX      ScsiIndexValueOrZero
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "This object is the corresponding index in the
   scsiTgtAuthorizedIntrTable for this current attached remote
   initiator or zero if this remote attached initiator is not
   configured in that table."
   ::= { scsiTgtAttIntrPortEntry 2 }

   scsiTgtAttIntrPortName OBJECT-TYPE
   SYNTAX      ScsiName
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The name of the remote initiator attached to this local target
   port."
   ::= { scsiTgtAttIntrPortEntry 3 }

   scsiTgtAttIntrPortId OBJECT-TYPE
   SYNTAX      ScsiIdentifier
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The identifier of the remote initiator attached to this local
   target port."
   ::= { scsiTgtAttIntrPortEntry 4 }


   -- Managed Objects regarding logical units
   scsiLogicalUnitTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF ScsiLogicalUnitEntry

Hallak-Stamler et al     Expires August 2002               [Page  41]
                               SCSI MIB                     March 2002

   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "This table includes all the logical units exposed by a local target
   device."
   ::= { scsiLogicalUnit 1 }

   scsiLogicalUnitEntry OBJECT-TYPE
   SYNTAX           ScsiLogicalUnitEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An entry (row) contains information applicable to a particular
   logical unit of a particular local target device. "
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiLuIndex}
   ::= { scsiLogicalUnitTable 1 }

   ScsiLogicalUnitEntry ::= SEQUENCE {
     scsiLuIndex         ScsiIndexValue,
     scsiLuDefaultLun    ScsiLUNFormat,
     scsiLuName          ScsiLUNFormat,
     scsiLuVendorId      SnmpAdminString,
     scsiLuProductId     SnmpAdminString,
     scsiLuRevisionId    SnmpAdminString,
     scsiLuPeripheralType     Unsigned32,
     scsiLuStatus        INTEGER,
     scsiLuState         BITS
   }

   scsiLuIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "An administrative integer used to uniquely identify a particular
   logical unit."
   ::= { scsiLogicalUnitEntry 1 }

   scsiLuDefaultLun OBJECT-TYPE
   SYNTAX      ScsiLUNFormat
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The default Logical Unit Number (LUN) for this logical unit; it is
   the LUN that will appear to an initiator that was not configured to
   see another LUN.
   Note that this object will have a zero-length string if this Logical
   Unit does not have a default LUN."
   ::= { scsiLogicalUnitEntry 2 }

   scsiLuName OBJECT-TYPE
   SYNTAX      ScsiLUNFormat
   MAX-ACCESS  read-only

Hallak-Stamler et al     Expires August 2002               [Page  42]
                               SCSI MIB                     March 2002

   STATUS      current
   DESCRIPTION
   "The World-Wide Name of this LU."
   ::= { scsiLogicalUnitEntry 3 }

   scsiLuVendorId   OBJECT-TYPE
   SYNTAX      SnmpAdminString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "A string identifying the vendor of this LU according to the value
   in SCSI device page."
   ::= { scsiLogicalUnitEntry 4 }

   scsiLuProductId  OBJECT-TYPE
   SYNTAX      SnmpAdminString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "A string identifying the product for this LU according to the value
   in SCSI device page."
   ::= { scsiLogicalUnitEntry 5 }

   scsiLuRevisionId OBJECT-TYPE
   SYNTAX      SnmpAdminString
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "A string defining the product revision of this LU according to the
   value in SCSI device page."
   ::= { scsiLogicalUnitEntry 6 }

   scsiLuPeripheralType  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "This object is the value returned to SCSI query VPD page 83.
   It can be: direct-access device, sequential-access device, printer,
   communication device and so on.
   The values that can be returned here are defined in SCSI Primary
   Commands -2 ."
   REFERENCE " ANSI - SCSI Primary Commands - 2 [19]"
   ::= { scsiLogicalUnitEntry 7 }

   scsiLuStatus     OBJECT-TYPE
   SYNTAX      INTEGER {
               unknown(1),
               available(2),
               notAvailable(3),
               broken(4),
               readying(5),
               abnormal(6)

Hallak-Stamler et al     Expires August 2002               [Page  43]
                               SCSI MIB                     March 2002

          }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The status of this logical unit:
   - unknown(1): The status of this logical unit cannot be determined.
   - available(2): The logical unit is fully operational (i.e., accepts
   media access SCSI commands and has no state information to report).
   - notAvailable(3): The logical unit is capable of being supported
   but not available (i.e., no logical unit is currently present or the
   logical unit is present but not configured for use).
   - broken(4): The logical unit has failed and cannot respond to SCSI
   commands.
   - readying(5): The logical unit is being initialized and access is
   temporarily limited.
   - abnormal(6): The logical unit has state information available that
   indicates it is operating with limits. The scsiLuState indicates
   what those limits are.
   "
   REFERENCE
   " SCSI Controller Commands-2 (SCC-2) standard NCITS.318-1998)"
   ::= { scsiLogicalUnitEntry 8 }

   scsiLuState OBJECT-TYPE
   SYNTAX      BITS {
               dataLost(0),
               dynamicReconfigurationInProgress(1),
               exposed(2),
               fractionallyExposed(3),
               partiallyExposed(4),
               protectedRebuild(5),
               protectionDisabled(6),
               rebuild(7),
               recalculate(8),
               spareInUse(9),
               verifyInProgress(10)
          }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "According the bit position:
   0 Data lost: Within the logical unit data has been lost.
   1 Dynamic reconfiguration in progress: The logical unit is being
   reconfigured. In this state all data is still protected.
   2 Exposed: Within the logical unit data is not protected. In this
   state all data is still valid, however, loss of data/data-
   availability is unavoidable in the event of a failure.
   3 Fractionally exposed: Within the logical unit part of the data is
   not protected. In this state all data is still valid, however, a
   failure may cause a loss of data or a loss of data availability.
   4 Partially exposed: Within the logical unit one or more underlying
   storage devices have failed. In this state all data is still
   protected.

Hallak-Stamler et al     Expires August 2002               [Page  44]
                               SCSI MIB                     March 2002

   5 Protected rebuild: The logical unit is in the process of a rebuild
   operation. In this state all data is protected.
   6 Protection disabled: Within the logical unit the data protection
   method has been disabled.
   In this state all data is still valid, however, however, loss of
   data/data-availability is unavoidable in the event of a failure.
   7 Rebuild: The data protection method is in the process of
   rebuilding data. In this state data is not protected.
   8 Recalculate: The logical unit is in the process of a recalculate
   operation.
   9 Spare in use: Within the logical unit a storage device in full or
   part being used to store data. In this state all data is still
   protected.
   10     Verify in progress: Within the logical unit data is being
   verified."
   REFERENCE
   " SCSI Controller Commands-2 (SCC-2) standard NCITS.318-1998)"
   ::= { scsiLogicalUnitEntry 9 }




   scsiLuIdentifierTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF ScsiLuIdentifierEntry
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "A table of identifiers for all logical units exposed by local
   targets device."
   ::= { scsiLogicalUnit 2 }

   scsiLuIdentifierEntry OBJECT-TYPE
   SYNTAX      ScsiLuIdentifierEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "An entry (row) containing information applicable to a particular
   identifier for a particular logical unit. "
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiLuIndex, scsiLuIdIndex }
   ::= { scsiLuIdentifierTable 1 }

   ScsiLuIdentifierEntry ::= SEQUENCE {
     scsiLuIdIndex       ScsiIndexValue,
     scsiLuIdCodeSet     Unsigned32,
     scsiLuIdAssociation Unsigned32,
     scsiLuIdType        Unsigned32,
     scsiLuIdValue       OCTET STRING
     }

   scsiLuIdIndex    OBJECT-TYPE
   SYNTAX          ScsiIndexValue
   MAX-ACCESS      not-accessible
   STATUS          current

Hallak-Stamler et al     Expires August 2002               [Page  45]
                               SCSI MIB                     March 2002

   DESCRIPTION
   "An administrative integer used to uniquely identify a particular LU
   Identifier."
   ::= { scsiLuIdentifierEntry 1 }

   scsiLuIdCodeSet OBJECT-TYPE
   SYNTAX           Unsigned32(0..255)
   MAX-ACCESS       read-only
   STATUS           current
   DESCRIPTION
   "This object defines the code set in use for this identifier: binary
   or ascii."
   REFERENCE " ANSI - SCSI Primary Commands - 2 [19]"
     ::= { scsiLuIdentifierEntry 2 }

   scsiLuIdAssociation OBJECT-TYPE
   SYNTAX           Unsigned32(0..255)
   MAX-ACCESS       read-only
   STATUS           current
   DESCRIPTION
   "This value means that the identifier is associated with the
   addressed physical or logical device or that the identifier is
   associated with the port that received the request."
   REFERENCE " ANSI - SCSI Primary Commands - 2 [19]"
   ::= { scsiLuIdentifierEntry 3 }

   scsiLuIdType     OBJECT-TYPE
   SYNTAX           Unsigned32(0..255)
   MAX-ACCESS       read-only
   STATUS           current
   DESCRIPTION
   "This object defines the type of LU Identifier used for this
   identifier and indicates the format of scsiLUIdValue. It might be:
   - 0:proprietary means that the format used for this LU Identifier is
   vendor-specific,
   - 1:annexD  means that this LU Identifier starts with an 8-bytes T10
   Vendor ID.
   - 2:eui64  means that the format used for this LU Identifier is IEEE
   Extended Unique Identifier of 64 bits (EUI-64)
   - 3:fcfs  means that this LU Identifier contains an FC-FS
   identifier.
   - 4:relative means that this LU Identifier contains the relative
   position of the port. This type is used when the scsiLUIdAssociation
   points to port."
   REFERENCE " ANSI - SCSI Primary Commands - 2 [19]"
   ::= { scsiLuIdentifierEntry 4 }

   scsiLuIdValue OBJECT-TYPE
   SYNTAX          OCTET STRING (SIZE (0..255))
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION

Hallak-Stamler et al     Expires August 2002               [Page  46]
                               SCSI MIB                     March 2002

   "This object is the actual value of this identifier. The format is
   defined by the objects: scsiLuIdCodeSet, scsiLuIdAssociation,
   scsiLuIdType."
   ::= { scsiLuIdentifierEntry 5 }



   -- The LUN Map Table

   scsiLunMapTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF ScsiLunMapEntry
   MAX-ACCESS  not-accessible
   STATUS          current
   DESCRIPTION
   "This table includes LUNs additional to the default one. A logical
   unit may have a different Logical Unit Number for different
   initiators. This table provides a mapping between a logical unit and
   a logical unit number."
   ::= { scsiLogicalUnit 3 }

   scsiLunMapEntry OBJECT-TYPE
   SYNTAX          ScsiLunMapEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
   "An entry containing information about the mapping of a particular
   Logical Unit to a particular LUN.  The set of
   entries which all have the same values of scsiInstIndex,
   scsiDeviceIndex and scsiLunMapIndex constitute a LUN Map."
   INDEX { scsiInstIndex, scsiDeviceIndex, scsiLunMapIndex, scsiLun}
   ::= { scsiLunMapTable 1 }

   ScsiLunMapEntry ::= SEQUENCE {
     scsiLunMapIndex     ScsiIndexValue,
     scsiLun             ScsiLUNFormat,
     scsiLunMapLuIndex   ScsiIndexValue,
     scsiLunMapRowStatus RowStatus
     }

   scsiLunMapIndex  OBJECT-TYPE
   SYNTAX           ScsiIndexValue
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION
   "An administrative integer used to uniquely identify a particular
   LunMap."
     ::= { scsiLunMapEntry 1 }

   scsiLun     OBJECT-TYPE
   SYNTAX           ScsiLUNFormat
   MAX-ACCESS       not-accessible
   STATUS           current
   DESCRIPTION

Hallak-Stamler et al     Expires August 2002               [Page  47]
                               SCSI MIB                     March 2002

   "This object specifies the Logical Unit Number, to which a logical
   unit is mapped by this row."
   ::= { scsiLunMapEntry 2 }

   scsiLunMapLuIndex OBJECT-TYPE
   SYNTAX      ScsiIndexValue
   MAX-ACCESS  read-create
   STATUS          current
   DESCRIPTION
   "This object identifies the logical unit for which the value of
   scsiLuIndex is the same as the value of this object.  The identified
   logical unit is the one mapped to a LUN by this row."
   ::= { scsiLunMapEntry 3 }

   scsiLunMapRowStatus   OBJECT-TYPE
   SYNTAX          RowStatus
   MAX-ACCESS      read-create
   STATUS          current
   DESCRIPTION
   "This object allows an administrator to create and delete this
   entry."
   ::= { scsiLunMapEntry 4 }

   -- Notifications
   -- scsiNotifications OBJECT IDENTIFIER ::= { scsiModule 2 }
   scsiNotificationsPrefix OBJECT IDENTIFIER
   ::= { scsiNotifications 0 }
   scsiDeviceStatusChanged NOTIFICATION-TYPE
   OBJECTS { scsiDeviceStatus }
   STATUS  current
   DESCRIPTION
   " This notification is sent each time the scsiDeviceStatus object
   changes providing that the SCSI instance's value
   of scsiInstScsiNotificationsEnable is enabled."
   ::= { scsiNotificationsPrefix 1 }

   scsiLuStatusChanged NOTIFICATION-TYPE
   OBJECTS { scsiLuStatus }
   STATUS  current
   DESCRIPTION
   " This notification is sent each time the scsiLuStatus object
   changes."
   ::= { scsiNotificationsPrefix 2 }


   -- The next part defines the conformance groups in use for SCSI MIB.
   scsiCompliances OBJECT IDENTIFIER ::= { scsiConformance 1 }

   scsiCompliance MODULE-COMPLIANCE
         STATUS  current
         DESCRIPTION
               "Describes the requirements for compliance to this
               SCSI MIB."

Hallak-Stamler et al     Expires August 2002               [Page  48]
                               SCSI MIB                     March 2002

         MODULE  -- this module
             MANDATORY-GROUPS {

        -- To be supplied

                              }

         ::= { scsiCompliances 1 }

   scsiGroups OBJECT IDENTIFIER ::= { scsiConformance 2 }

   scsiInstanceGroup OBJECT-GROUP
   OBJECTS {
     scsiInstAlias,
     scsiInstReference,
     scsiInstVendorVersion,
     scsiInstScsiDeviceNumber,
     scsiInstScsiNotificationsEnable
   }
   STATUS current
   DESCRIPTION
   "A collection of objects providing information about SCSI
   instances."
   ::= { scsiGroups 1 }

   scsiDeviceGroup OBJECT-GROUP
   OBJECTS {
     scsiDeviceAlias,
     scsiDeviceRole,
     scsiDevicePortNumber,
     scsiDeviceStatus
   }
   STATUS current
   DESCRIPTION
   "A collection of attributes regarding a SCSI device."
   ::= { scsiGroups 2 }

   scsiPortGroup OBJECT-GROUP
   OBJECTS {
     scsiPortRole,
     scsiPortTrnsptPtr,
     scsiTrnsprtType,
     scsiTrnsprtPointer,
     scsiTrnsprtDevName
   }
   STATUS current
   DESCRIPTION
   "A collection of attributes regarding a SCSI port including the used
   transports."
   ::= { scsiGroups 3 }

   scsiInitiatorDevicePortGroup OBJECT-GROUP
   OBJECTS {

Hallak-Stamler et al     Expires August 2002               [Page  49]
                               SCSI MIB                     March 2002

     scsiInitiatorDeviceResetSent,
     scsiIntrPortName,
     scsiIntrPortIdentifier
   }
   STATUS current
   DESCRIPTION
   "This group is relevant for an initiator device and port."
   ::= { scsiGroups 4 }

   scsiIntrAttTgtPortGroup OBJECT-GROUP
   OBJECTS {
    scsiIntrDiscTgtIndexOrZero,
    scsiIntrAttTgtPortName,
    scsiIntrAttTgtPortIdentifier
   }
   STATUS current
   DESCRIPTION
   "This group described the targets currently attached to an initiator
   port."
   ::= { scsiGroups 5 }

   scsiIntrDiscoveredTgtGroup OBJECT-GROUP
   OBJECTS {
    scsiIntrDscTgtDevOrPort,
    scsiIntrDscTgtName,
    scsiIntrDscState,
    scsiIntrDscTgtRowStatus
   }
   STATUS current
   DESCRIPTION
   "This group is relevant for the discovered targets by an initiator
   port."
   ::= { scsiGroups 6 }

   scsiIntrDscLunGroup OBJECT-GROUP
   OBJECTS {
     scsiIntrDscLun

   }
   STATUS current
   DESCRIPTION
   "This group is matching discovered logical units to the discovered
   targets by an initiator port."
   ::= { scsiGroups 7 }

   scsiIntrDscLunIdGroup OBJECT-GROUP
   OBJECTS {
     scsiIntrDscLunIdCodeSet,
     scsiIntrDscLunIdAssociation,
     scsiIntrDscLunIdType,
     scsiIntrDscLunIdValue
   }
   STATUS current

Hallak-Stamler et al     Expires August 2002               [Page  50]
                               SCSI MIB                     March 2002

   DESCRIPTION
   "This group is relevant for the discovered logical units by an
   initiator port."
   ::= { scsiGroups 8 }

   scsiTargetDevicePortGroup OBJECT-GROUP
   OBJECTS {
     scsiTargetDeviceNumberOfLogicalUnits,
     scsiTargetPortName,
     scsiTargetPortIdentifier
   }
   STATUS current
   DESCRIPTION
   "This group is relevant for a target device and port."
   ::= { scsiGroups 9 }

   scsiTgtAuthIntrGroup OBJECT-GROUP
   OBJECTS {
     scsiTgtAuthIntrDevOrPort,
     scsiTgtAuthIntrName,
     scsiTgtLunMapIndex,
     scsiTgtAuthIntrRowStatus
   }
   STATUS current
   DESCRIPTION
   "This group is relevant for the initiators authorized to attach a
   target port."
   ::= { scsiGroups 10 }

   scsiTgtAttIntrPortGroup OBJECT-GROUP
   OBJECTS {
     scsiTgtAuthIntrIndexOrZero,
     scsiTgtAttIntrPortName,
     scsiTgtAttIntrPortId
   }
   STATUS current
   DESCRIPTION
   "This group described the initiator ports currently attached to a
   specific target port."
   ::= { scsiGroups 11 }

   scsiLogicalUnitGroup OBJECT-GROUP
   OBJECTS {
     scsiLuDefaultLun,
     scsiLuName,
     scsiLuVendorId,
     scsiLuProductId,
     scsiLuRevisionId,
     scsiLuPeripheralType,
     scsiLuStatus,
     scsiLuState
   }
   STATUS current

Hallak-Stamler et al     Expires August 2002               [Page  51]
                               SCSI MIB                     March 2002

   DESCRIPTION
   "This group is a collection of attributes regarding a logical unit."
   ::= { scsiGroups 12 }

   scsiLuIdentifierGroup OBJECT-GROUP
   OBJECTS {
     scsiLuIdCodeSet,
     scsiLuIdAssociation,
     scsiLuIdType,
     scsiLuIdValue
   }
   STATUS current
   DESCRIPTION
   "This group is a collection of attributes regarding a logical unit
   identifier."
   ::= { scsiGroups 13 }

   scsiLunMapGroup OBJECT-GROUP
   OBJECTS {
     scsiLunMapLun,
     scsiLunMapRowStatus
   }
   STATUS current
   DESCRIPTION
   "This group is a collection of attributes regarding the mapping
   between logical unit number, logical unit and target device."
   ::= { scsiGroups 14}



   END

   11. Acknowledgments

   This document was produced by the SCSI MIB Working Group.

   12. References

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

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

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

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


Hallak-Stamler et al     Expires August 2002               [Page  52]
                               SCSI MIB                     March 2002

   [5]   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.

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

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

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

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

   [10]  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.

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

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

   [13]  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.

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

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

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

   [17]  Information Technology, SCSI Architecture Model-2 (SAM-2),
         Working Draft, T10 Project 1157-D, Revision 20, 19 September
         2001

   [18]  IEEE Tutorial for SCSI use of IEEE company_id - X3T10/97-101,
         revision 2


Hallak-Stamler et al     Expires August 2002               [Page  53]
                               SCSI MIB                     March 2002

   [19]  Information Technology, SCSI Primary Commands - 2 (SPC-2), T10
         Project 1236-D, Revision 20, 18 July 2001

   [20]  Information Technology, Names, Addresses, Identifiers, Oh my!,
         T10 Project, Revision 4, 25 July 2001 (T10/01-084 revision 4)

   [22]  S. Waldbusser and P. Grillo, "Host Resources MIB", RFC 2790,
         March 2000.

   [23]  Bradner, S., "Key words for use in RFCs to Indicate
         Requirement Levels", BCP 14, RFC 2119, March 1997.

   13. Security Considerations

   There are a number of management objects defined in this MIB that
   have a MAX-ACCESS clause of read-write and/or read-create.  Such
   objects may be considered sensitive or vulnerable in some network
   environments.  The support for SET operations in a non-secure
   environment without proper protection can have a negative effect on
   network operations.

   Some managed objects in this MIB may contain sensitive information.

   SNMPv1 by itself is not a secure environment.  Even if the network
   itself is secure (for example by using IPSec), even then, there is
   no control as to who on the secure network is allowed to access and
   GET/SET (read/change/create/delete) the objects in this MIB.

   It is recommended that the implementers consider the security
   features as provided by the SNMPv3 framework.  Specifically, the use
   of the User-based Security Model RFC 2574 [12] and the View-based
   Access Control Model RFC 2575 [15] are recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly
   configured to give access to the objects only to those principals
   (users) that have legitimate rights to indeed GET or SET
   (change/create/delete) them.

   14. Authors' Addresses

   Michele Hallak-Stamler
   Sanrad Intelligent Network
   32 Habarzel Street
   Tel Aviv, Israel

   Phone: +972 3 7674809
   Email: michele@sanrad.com

   Yaron Lederman
   Siliquent Technologies Ltd.
   33 Bezalel Street
   Ramat Gan, Israel

Hallak-Stamler et al     Expires August 2002               [Page  54]
                               SCSI MIB                     March 2002


   Phone: +972 3 7552320
   Email: yaronl@siliquent.com

   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

   Keith McCloghrie
   Cisco Systems, Inc.
   Postal: 170 West Tasman Drive
   San Jose, CA USA 95134

   Tel: +1 408 526-5260
   E-mail: kzm@cisco.com

   Sajay Selvaraj,
   HCL Technologies,
   49-50, NM Road,
   Chennai - 29, India.

   Phone : +91-44-374 1939
   Email : sselvara@npd.hcltech.com


Hallak-Stamler et al     Expires August 2002               [Page  55]