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]