-- extracted from draft-ietf-ips-scsi-mib-01.txt -- at Fri May 14 06:20:51 2004 SCSI-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, Integer32, Unsigned32, Counter64, TimeTicks, mib-2, experimental FROM SNMPv2-SMI TEXTUAL-CONVENTION, TimeStamp, RowStatus, RowPointer, AutonomousType FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB; scsiModule MODULE-IDENTITY LAST-UPDATED "200201020000Z" -- 02 January 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 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 " DESCRIPTION "The SCSI MIB" -- Revision History REVISION "200201020000Z" DESCRIPTION " First Draft. Reflects the object model only and doesn't include statistics yet." ::= { experimental xxx } -- must be changed in the future -- Textual Conventions ScsiLUNFormat ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "It is: - a zero-length octet string or - a two-bytes octets if the underlying transport protocol is SBP-3 or SPI-4 using data group transfers or - an eight bytes integer 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. The format depends on the transport used: - SPI: only bits:0-3 for a port identifier - 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 } -- 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 object, 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 } 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 } 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." ::= { 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 } -- Corresponding Statistics -- scsiGenInstStatTable OBJECT-TYPE -- SYNTAX SEQUENCE OF ScsiGenInstStatEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "A list of statistics referring to SCSI instances present -- on the system." -- ::= { scsiGeneral 2 } -- SCSI Devices scsiDeviceTable OBJECT-TYPE SYNTAX SEQUENCE OF ScsiDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of SCSI Devices present on the system." ::= { scsiGeneral 3 } 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 index for this 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 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 fixed. - 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 however 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 however 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 however 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} -- 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 the instance." ::= { scsiGeneral 4 } scsiPortEntry OBJECT-TYPE SYNTAX ScsiPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) containing management information applicable to a particular SCSI port included per SCSI device in this SCSI manageable 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 index for this port." ::= { scsiPortEntry 1 } scsiPortRole OBJECT-TYPE SYNTAX BITS { target(0), initiator(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "Is this port 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 "This shall be the index of the corresponding transport definition in the scsiTrnsptTable" ::= { scsiPortEntry 3 } -- Table of supported transports scsiTrnsprtTable OBJECT-TYPE SYNTAX SEQUENCE OF ScsiTrnsprtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of transports in use with this device." ::= { scsiGeneral 5 } scsiTrnsprtEntry OBJECT-TYPE SYNTAX ScsiTrnsprtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) containing parameters applicable to a transport used by this initiator device.ÆÆ INDEX { scsiInstIndex, scsiDeviceIndex, scsiIntrTrnsprtIndex} ::= { scsiTrnsprtTable 1 } ScsiTrnsprtEntry ::= SEQUENCE { scsiTrnsprtIndex ScsiIndexValue, scsiTrnsprtType AutonomousType, scsiTrnsprtPointer RowPointer, scsiTrnsprtDevName ScsiName } scsiTrnsprtIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION "An administrative index for this transport." ::= { scsiTrnsprtEntry 1 } scsiTrnsprtType OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of ScsiName for this device when using this transport." ::= { scsiTrnsprtEntry 2 } scsiTrnsprtPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "A pointer to an instance in a MIB of the transport corresponding to this entry. For example, if the transport of this device is iSCSI, this field will point to the corresponding iSCSI Managed Object. If there is no MIB for this transport, the null OID 0.0 should be returned." ::= { scsiTrnsprtEntry 3 } scsiTrnsprtDevName OBJECT-TYPE SYNTAX ScsiName MAX-ACCESS read-only STATUS current DESCRIPTION "The name of this device according the type of transport." ::= { scsiTrnsprtEntry 4 } -- Management Objects regarding initiators scsiInitiatorDeviceTable OBJECT-TYPE SYNTAX SEQUENCE OF ScsiInitiatorDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the parameters for each initiator device." ::= { scsiInitiator 1} scsiInitiatorDeviceEntry OBJECT-TYPE SYNTAX ScsiInitiatorDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) containing parameters applicable to an initiator device." INDEX { scsiInstIndex, scsiDeviceIndex } ::= { scsiInitiatorDeviceTable 1 } ScsiInitiatorDeviceEntry ::= SEQUENCE { scsiInitiatorDeviceResetSent Counter32 -- More statistics to be placed here } scsiInitiatorDeviceResetSent OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Number of reset sent by this initiator device since its own last reset." ::= { scsiInitiatorDeviceEntry 1 } -- 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 parameters applicable to the corresponding initiator port. " INDEX { scsiInstIndex, scsiDeviceIndex, scsiPortIndex } ::= { scsiInitiatorPortTable 1 } ScsiInitiatorPortEntry ::= SEQUENCE { scsiIntrPortName ScsiName, scsiIntrPortIdentifier ScsiIdentifier } scsiIntrPortName OBJECT-TYPE SYNTAX ScsiName MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the port assigned 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 according the type of transport." ::= { 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 those -- initiator Ports scsiIntrDiscoveredTgtTable OBJECT-TYPE SYNTAX SEQUENCE OF ScsiIntrDiscoveredTgtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table includes all the remote (not in the current system) target ports that are currently attached to each local initiator port of this entity." ::= { 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 } ::= { scsiIntrDiscoveredTgtTable 1 } ScsiIntrDiscoveredTgtEntry ::= SEQUENCE { scsiIntrPortIndexOrZero ScsiPortIndexValueOrZero, scsiIntrDscTgtIndex ScsiIndexValue, scsiIntrDscTgtDevOrPort ScsiDeviceOrPort, scsiIntrDscTgtName ScsiName, scsiIntrDscState INTEGER, scsiIntrDscTgtRowStatus RowStatus } scsiIntrPortIndexOrZero OBJECT-TYPE SYNTAX ScsiPortIndexValueOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "This field is: - the index of the corresponding scsi initiator port, - or zero, if this entry refers to a device." ::= { scsiIntrDiscoveredTgtEntry 1 } scsiIntrDscTgtIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION "This field is an administrative index for this 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 field specifies if this entry refers to a port or a 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 } scsiIntrDscState OBJECT-TYPE SYNTAX INTEGER { unknown(1), configured(2), discovered(3), configuredAndDiscovered(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "This field means: - unknown(1): the agent has no way of knowing the state of this discovered target. - configured(2): this target has been configured for this initiator. However, it has not been discovered. - discovered(3): this target has been discovered but never has been configured. - configuredAndDiscovered(4): this target has been configured and discovered by this initiator device or port." ::= { scsiIntrDiscoveredTgtEntry 5 } scsiIntrDscTgtRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This field allows to configure dynamically a new entry in this table via SNMP." ::= { scsiIntrDiscoveredTgtEntry 6 } -- 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 current system) LUNS discovered via each local initiator port of this entity." ::= { scsiIntrDiscoveredTarget 2 } scsiIntrDscLunsEntry OBJECT-TYPE SYNTAX ScsiIntrDscLunsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) represents a LUN discovered by the scsiDeviceIndex or the local initiator port scsiPortIndexOrZero. " INDEX { scsiInstIndex, scsiDeviceIndex, scsiIntrPortIndexOrZero, scsiIntrDscTgtIndex, scsiIntrDscLunIndex } ::= { scsiIntrDscLunsTable 1 } ScsiIntrDscLunsEntry ::= SEQUENCE { scsiIntrDscLunIndex ScsiIndexValue } scsiIntrDscLunIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION "This field is an administrative index for a LUN discovered by this scsi initiator port. This index will point to parameters for this LUN in the scsiIntrDscLunIdentifier." ::= { scsiIntrDscLunsEntry 1 } -- 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 current system) LU Identifier discovered via each local initiator port of this entity." ::= { scsiIntrDiscoveredTarget 3 } scsiIntrDscLunIdEntry OBJECT-TYPE SYNTAX ScsiIntrDscLunIdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) represents a LU Identifier discovered by the scsiDeviceIndex." INDEX { scsiInstIndex, scsiDeviceIndex, scsiIntrDscLunIndex, scsiIntrDscLunIdIndex } ::= { scsiIntrDscLunIdTable 1 } ScsiIntrDscLunIdEntry ::= SEQUENCE { scsiIntrDscLunIdIndex ScsiIndexValue, scsiIntrDscLunIdCodeSet INTEGER, scsiIntrDscLunIdAssociation INTEGER, scsiIntrDscLunIdType INTEGER, scsiIntrDscLunIdValue OCTET STRING } scsiIntrDscLunIdIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION "This field is an administrative index for a LUN Identifier discovered by this scsi initiator port." ::= { scsiIntrDscLunIdEntry 1 } scsiIntrDscLunIdCodeSet OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The code set in use for this identifier: can be binary or ascii." REFERENCE " ANSI - SCSI Primary Commands - 2 [19]" ::= { scsiIntrDscLunIdEntry 2 } scsiIntrDscLunIdAssociation OBJECT-TYPE SYNTAX INTEGER 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 INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "This field defines the type of LU Identifier used for this identifier and fixes the format of scsiLUIdValue. It might be: - proprietary corresponds to 0h identifier type value and means that the format used for this LU Identifier is vendor- specific, - annexD corresponds to 1h identifier type value and means that this LU Identifier starts with an 8-bytes T10 Vendor ID. - eui64 corresponds to 2h identifier type value and means that the format used for this LU Identifier is IEEE Extended Unique Identifier of 64 bits (EUI-64) - fcfs corresponds to 3h identifier and means that this LU Identifier contains an FC-FS identifier. - relative corresponds to 4h identifier type and 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 previous fields." ::= { scsiIntrDscLunIdEntry 5 } -- Attached Targets to Initiator Port Table scsiIntrAttTgtPortTable OBJECT-TYPE SYNTAX SEQUENCE OF ScsiIntrAttTgtPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table includes all the remote (not in the current system) target ports that are currently attached to each local initiator port of this entity." ::= { 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, scsiIntrDiscTgtIndexOrZero ScsiIndexValueOrZero, scsiIntrAttTgtPortName ScsiName, scsiIntrAttTgtPortIdentifier ScsiIdentifier } scsiIntrAttTgtPortIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION "An administrative index for this current attached target." ::= { scsiIntrAttTgtPortEntry 1 } scsiIntrDiscTgtIndexOrZero OBJECT-TYPE SYNTAX ScsiIndexValueOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The corresponding index in the scsiIntrDiscoveredTgtTable for this current attached target or zero if this attached target 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 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 attached to this local initiator port according the type of transport." ::= { 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 SYNTAX SEQUENCE OF ScsiTargetDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is an extension of the device table including parameters specific to a target." ::= { scsiTarget 1 } scsiTargetDeviceEntry OBJECT-TYPE SYNTAX ScsiTargetDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) containing parameters applicable to the corresponding target device. " INDEX { scsiInstIndex, scsiDeviceIndex } ::= { scsiTargetDeviceTable 1 } ScsiTargetDeviceEntry ::= SEQUENCE { scsiTargetDeviceNumberOfLogicalUnits Unsigned32 } scsiTargetDeviceNumberOfLogicalUnits OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of Logical Units associated with this target." ::= { 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 target ports of all the SCSI target devices." ::= { scsiTarget 3 } scsiTargetPortEntry OBJECT-TYPE SYNTAX ScsiTargetPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) containing parameters applicable to the corresponding 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 by the SCSI protocol." ::= { scsiTargetPortEntry 1 } scsiTargetPortIdentifier OBJECT-TYPE SYNTAX ScsiIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "The identifier of the port according 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 following table should contain those initiator ports that -- may be attached to specific target ports and on which, an -- administrator would like to keep permanent information and long -- term statistic even when not currently attached. scsiTgtAuthorizedIntrTable OBJECT-TYPE SYNTAX SEQUENCE OF ScsiTgtAuthorizedIntrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table includes all the authorized initiator devices or ports that may attach a target device or port of this entity and that may interest an administrator." ::= { scsiTarget 5 } scsiTgtAuthorizedIntrEntry OBJECT-TYPE SYNTAX ScsiTgtAuthorizedIntrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row)represents an initiator port that may attach the target port corresponding to the scsiPortIndex. " INDEX { scsiInstIndex, scsiDeviceIndex, scsiTgtPortIndexOrZero, scsiTgtAuthIntrIndex } ::= { scsiTgtAuthorizedIntrTable 1 } ScsiTgtAuthorizedIntrEntry ::= SEQUENCE { scsiTgtPortIndexOrZero ScsiPortIndexValueOrZero, scsiTgtAuthIntrIndex ScsiIndexValue, scsiTgtAuthIntrDevOrPort ScsiDeviceOrPort, scsiTgtAuthIntrName ScsiName, scsiTgtLunMapIndex ScsiIndexValue, scsiTgtAuthIntrRowStatus RowStatus } scsiTgtPortIndexOrZero OBJECT-TYPE SYNTAX ScsiPortIndexValueOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "This field is: - the index of the corresponding scsi target port, - or zero, if this entry refers to a device." ::= { scsiTgtAuthorizedIntrEntry 1 } scsiTgtAuthIntrIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION " This field is an administrative index for this 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 field specifies if this entry refers to a port or a device." ::= { scsiTgtAuthorizedIntrEntry 3 } scsiTgtAuthIntrName OBJECT-TYPE SYNTAX ScsiName MAX-ACCESS read-create STATUS current DESCRIPTION "The name of the initiator device or port authorized to attach this target device or port." ::= { scsiTgtAuthorizedIntrEntry 4 } scsiTgtLunMapIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS read-create STATUS current DESCRIPTION "This field points to an entry in the scsiLunMapTable containing the parameters of the logical unit relevant to this target-initiator couple." ::= { scsiTgtAuthorizedIntrEntry 5 } scsiTgtAuthIntrRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This field allows an administrator to create or delete this entry." ::= { scsiTgtAuthorizedIntrEntry 6 } -- Attached Initiators to Target Table 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 the local target port corresponding to the scsiPortIndex. " 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 index for this current attached initiator." ::= { scsiTgtAttIntrPortEntry 1 } scsiTgtAuthIntrIndexOrZero OBJECT-TYPE SYNTAX ScsiIndexValueOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "The corresponding index in the scsiTgtAuthorizedIntrTable for this current attached initiator or zero if this attached initiator is not authorized." ::= { 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 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table includes all the logical units exposed by a target device." ::= { scsiLogicalUnit 1 } scsiLogicalUnitEntry OBJECT-TYPE SYNTAX ScsiLogicalUnitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) containing parameters applicable to the corresponding logical unit. " INDEX { scsiInstIndex, scsiDeviceIndex, scsiLuIndex} ::= { scsiLogicalUnitTable 1 } ScsiLogicalUnitEntry ::= SEQUENCE { scsiLuIndex ScsiIndexValue, scsiLuDefaultLun ScsiLUNFormat, scsiLuName ScsiLUNFormat, scsiLuVendorId SnmpAdminString, scsiLuProductId SnmpAdminString, scsiLuRevisionId SnmpAdminString, scsiLuStatus INTEGER, scsiLuState Integer32 } scsiLuIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION "Administrative index in the Logical Unit table." ::= { scsiLogicalUnitEntry 1 } scsiLuDefaultLun OBJECT-TYPE SYNTAX ScsiLUNFormat MAX-ACCESS read-only STATUS current DESCRIPTION "The default Logical Unit Number for this Logical Unit." ::= { scsiLogicalUnitEntry 2 } scsiLuName OBJECT-TYPE SYNTAX ScsiLUNFormat MAX-ACCESS read-only 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 } scsiLuStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), available(2), notAvailable(3), broken(4), readying(5), abnormal(6) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of this logical unit: - unknown(1): The status of this logical unit cannot be fixed. - available(2): The logical unit is fully operational (i.e., accepts media access SCSI commands and has not state information to report). - notAvailable(3): The logical unit is capable of being supported 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 7 } scsiLuState OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "According the bit position: 1 Data lost: Within the logical unit data has been lost. 2 Dynamic reconfiguration in progress: The logical unit is being reconfigured. In this state all data is still protected. 3 Exposed: Within the logical unit data is not protected. In this state all data is still valid, however, a failure shall cause a loss of data or a loss of data availability. 4 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. 5 Partially exposed: Within the logical unit one or more underlying storage devices have failed. In this state all data is still protected. 6 Protected rebuild: The logical unit is in the process of a rebuild operation. In this state all data is protected. 7 Protection disabled: Within the logical unit the data protection method has been disabled. In this state all data is still valid, however, a failure shall cause a loss of data or a loss of data availability. 8 Rebuild: The data protection method is in the process of rebuilding data. In this state data is not protected. 9 Recalculate: The logical unit is in the process of a recalculate operation. 10 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. 11 Verify in progress: Within the logical unit data is being verified. More than one condition may exist." REFERENCE " SCSI Controller Commands-2 (SCC-2) standard NCITS.318-1998)" ::= { scsiLogicalUnitEntry 8 } scsiLuIdentifierTable OBJECT-TYPE SYNTAX SEQUENCE OF ScsiLuIdentifierEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of identifiers per logical unit." ::= { scsiLogicalUnit 2 } scsiLuIdentifierEntry OBJECT-TYPE SYNTAX ScsiLuIdentifierEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) containing parameters applicable to the corresponding LUN per logical unit. " INDEX { scsiInstIndex, scsiDeviceIndex, scsiLuIndex, scsiLuIdIndex } ::= { scsiLuIdentifierTable 1 } ScsiLuIdentifierEntry ::= SEQUENCE { scsiLuIdIndex ScsiIndexValue, scsiLuIdCodeSet INTEGER, scsiLuIdAssociation INTEGER, scsiLuIdType INTEGER, scsiLuIdValue OCTET STRING } scsiLuIdIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION "An administrative index for that entry." ::= { scsiLuIdentifierEntry 1 } scsiLuIdCodeSet OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The code set in use for this identifier: can be binary or ascii." REFERENCE " ANSI - SCSI Primary Commands - 2 [19]" ::= { scsiLuIdentifierEntry 2 } scsiLuIdAssociation OBJECT-TYPE SYNTAX INTEGER 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 INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "This field defines the type of LU Identifier used for this identifier and fixes the format of scsiLUIdValue. It might be: - proprietary corresponds to 0h identifier type value and means that the format used for this LU Identifier is vendor- specific, - annexD corresponds to 1h identifier type value and means that this LU Identifier starts with an 8-bytes T10 Vendor ID. - eui64 corresponds to 2h identifier type value and means that the format used for this LU Identifier is IEEE Extended Unique Identifier of 64 bits (EUI-64) - fcfs corresponds to 3h identifier and means that this LU Identifier contains an FC-FS identifier. - relative corresponds to 4h identifier type and 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 "The actual value of this identifier. The format is defined by the previous fields." ::= { 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. It is configured per initiator port" ::= { scsiLogicalUnit 3 } scsiLunMapEntry OBJECT-TYPE SYNTAX ScsiLunMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (row) containing parameters applicable to the corresponding LUN per logical unit and per configured initiator port. " INDEX { scsiInstIndex, scsiDeviceIndex, scsiLunMapIndex, scsiLuIndex} ::= { scsiLunMapTable 1 } ScsiLunMapEntry ::= SEQUENCE { scsiLunMapIndex ScsiIndexValue, scsiLunMapLun ScsiLUNFormat, scsiLunMapRowStatus RowStatus } scsiLunMapIndex OBJECT-TYPE SYNTAX ScsiIndexValue MAX-ACCESS not-accessible STATUS current DESCRIPTION "An administrative index for this entry." ::= { scsiLunMapEntry 1 } scsiLunMapLun OBJECT-TYPE SYNTAX ScsiLUNFormat MAX-ACCESS read-create STATUS current DESCRIPTION "It is the LUN that will get the initiator port or device that points to this entry." ::= { scsiLunMapEntry 2 } scsiLunMapRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This field allows an administrator to create and delete this entry." ::= { scsiLunMapEntry 3 } -- The following groups will be defined in next versions -- scsiNotifications OBJECT IDENTIFIER ::= { scsiModule 2 } -- scsiConformance OBJECT IDENTIFIER ::= { scsiModule 3 } END