summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7144.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7144.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7144.txt')
-rw-r--r--doc/rfc/rfc7144.txt1403
1 files changed, 1403 insertions, 0 deletions
diff --git a/doc/rfc/rfc7144.txt b/doc/rfc/rfc7144.txt
new file mode 100644
index 0000000..8929d67
--- /dev/null
+++ b/doc/rfc/rfc7144.txt
@@ -0,0 +1,1403 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) F. Knight
+Request for Comments: 7144 NetApp
+Category: Standards Track M. Chadalapaka
+ISSN: 2070-1721 Microsoft
+ April 2014
+
+
+ Internet Small Computer System Interface (iSCSI)
+ SCSI Features Update
+
+Abstract
+
+ Internet Small Computer System Interface (iSCSI) is a SCSI
+ transport protocol that maps the SCSI family of protocols onto
+ TCP/IP. The iSCSI protocol as specified in RFC 7143 (and as
+ previously specified by the combination of RFC 3720 and RFC
+ 5048) is based on the SAM-2 (SCSI Architecture Model - 2)
+ version of the SCSI family of protocols. This document
+ defines enhancements to the iSCSI protocol to support certain
+ additional features of the SCSI protocol that were defined in
+ SAM-3, SAM-4, and SAM-5.
+
+ This document is a companion document to RFC 7143.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by
+ the Internet Engineering Steering Group (IESG). Further
+ information on Internet Standards is available in Section 2 of
+ RFC 5741.
+
+ Information about the current status of this document, any
+ errata, and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7144.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 1]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+Copyright Notice
+
+ Copyright (c) 2014 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 2]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+Table of Contents
+
+ 1. Introduction ....................................................4
+ 2. Definitions, Acronyms, and Document Summary .....................4
+ 2.1. Definitions ................................................4
+ 2.2. Acronyms ...................................................4
+ 2.3. New Semantics ..............................................4
+ 3. Terminology Mapping .............................................5
+ 4. New Feature Use .................................................7
+ 4.1. Negotiation of New Feature Use .............................7
+ 4.2. Impact on Standard INQUIRY Data - iSCSI Version
+ Descriptors ................................................8
+ 5. SCSI Commands ...................................................9
+ 5.1. SCSI Command Additions .....................................9
+ 5.1.1. Command Priority (Byte 2) ..........................10
+ 5.2. SCSI Response Additions ...................................11
+ 5.2.1. Status Qualifier ...................................12
+ 5.2.2. Data Segment - Sense and Response Data Segment .....12
+ 6. Task Management Functions ......................................13
+ 6.1. Task Management Function Request PDU ......................13
+ 6.2. Existing Task Management Functions ........................14
+ 6.3. Task Management Function Additions ........................14
+ 6.3.1. LUN Field ..........................................15
+ 6.3.2. Referenced Task Tag ................................16
+ 6.3.3. RefCmdSN ...........................................16
+ 6.4. Task Management Function Responses ........................17
+ 6.4.1. Task Management Function Response PDU ..............17
+ 6.4.2. Task Management Function Response Additions ........18
+ 6.5. Task Management Requests Affecting Multiple Tasks .........19
+ 7. Login/Text Operational Text Keys ...............................19
+ 7.1. New Operational Text Keys .................................19
+ 7.1.1. iSCSIProtocolLevel .................................19
+ 8. Security Considerations ........................................20
+ 9. IANA Considerations ............................................21
+ 10. References ....................................................24
+ 10.1. Normative References .....................................24
+ 10.2. Informative References ...................................24
+ 11. Acknowledgements ..............................................24
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 3]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+1. Introduction
+
+ The original iSCSI protocol [RFC3720] was built based on the [SAM2]
+ model for SCSI. Several new features and capabilities have been
+ added to the SCSI Architecture Model in the intervening years (at the
+ time of publication of this document, SAM-5 was the current version
+ of the SCSI Architecture Model). This document is not a complete
+ revision of [RFC3720]. Instead, this document is intended as a
+ companion document to RFC 7143; this document may also be used as a
+ companion document to the combination of [RFC3720] and [RFC5048],
+ although both of those RFCs have been obsoleted by [RFC7143].
+
+ For more information on the SCSI Architecture Model and SCSI Primary
+ Commands - 4, contact the INCITS T10 Technical Committee for SCSI
+ Storage Interfaces at <http://www.t10.org>.
+
+2. Definitions, Acronyms, and Document Summary
+
+2.1. Definitions
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+2.2. Acronyms
+
+ ACA Auto Contingent Allegiance
+ AHS Additional Header Segment
+ ISID Initiator Session Identifier
+ LU Logical Unit
+ PDU Protocol Data Unit
+ SAM-5 SCSI Architecture Model - 5 (see [SAM5])
+ TSIH Target Session Identifying Handle
+
+2.3. New Semantics
+
+ This document specifies new iSCSI semantics. This section summarizes
+ the contents of the document.
+
+ Section 3: The mapping of iSCSI objects to SAM-5 objects
+ The iSCSI node may contain both initiator and target
+ capabilities.
+
+ Section 4: New feature use
+ New features need negotiation for use. The
+ negotiation may have an impact on standard INQUIRY
+ data.
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 4]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ Section 5: New command operations
+ The PRI field for SCSI command priority has been added
+ to the SCSI Command PDU (see Section 5.1.1). The
+ Status Qualifier field has been added to the SCSI
+ Response PDU (see Section 5.2.1). Sense data may be
+ returned (via Autosense) for any SCSI status, not just
+ CHECK CONDITION (see Section 5.2.2).
+
+ Section 6: New task management functions
+ Four new task management functions (QUERY TASK, QUERY
+ TASK SET, I_T NEXUS RESET, and QUERY ASYNCHRONOUS
+ EVENT) have been added (see Section 6.3). A new
+ "Function succeeded" response has been added (see
+ Section 6.4.2).
+
+ Section 7: New negotiation key
+ A new negotiation key has been added to enable the use
+ of the new features in Sections 5 and 6.
+
+3. Terminology Mapping
+
+ The iSCSI model (defined in [RFC7143]) uses different terminology
+ than the SCSI Architecture Model. In some cases, iSCSI uses multiple
+ terms to describe what in the SCSI Architecture Model is described
+ with a single term. The iSCSI terms and SAM-5 terms are not
+ necessarily equivalent, but rather, the iSCSI terms represent
+ examples of the objects or classes described in SAM-5 as follows:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 5]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ Terminology in RFC 7143 | Terminology in SAM-5
+ +-----------------------------+---------------------------+
+ | Network Entity | none |
+ +-----------------------------+---------------------------+
+ | iSCSI Node | SCSI Device |
+ +-----------------------------+---------------------------+
+ | iSCSI Name | SCSI Device Name |
+ +-----------------------------+---------------------------+
+ | iSCSI Node Name | SCSI Device Name |
+ +-----------------------------+---------------------------+
+ | iSCSI Initiator Node | SCSI Initiator Device |
+ +-----------------------------+---------------------------+
+ | iSCSI Initiator Name | SCSI Device Name |
+ +-----------------------------+---------------------------+
+ | iSCSI Initiator Port | SCSI Initiator Port |
+ | Identifier; (i.e., iSCSI | Identifier |
+ | Node Name + ,,,i, + ISID)** | |
+ +-----------------------------+---------------------------+
+ | iSCSI Initiator Port Name; | SCSI Initiator Port Name |
+ | (i.e., iSCSI Node Name + | |
+ | ,,,i, + ISID)** | |
+ +-----------------------------+---------------------------+
+ | iSCSI Target Node | SCSI Target Device |
+ +-----------------------------+---------------------------+
+ | iSCSI Target Name | SCSI Device Name |
+ +-----------------------------+---------------------------+
+ | iSCSI Target Port | SCSI Target Port |
+ | Identifier; (i.e., iSCSI | Identifier |
+ | Node Name + ,,,t, + | |
+ | Target Portal Group Tag)** | |
+ +-----------------------------+---------------------------+
+ | iSCSI Target Port Name; | SCSI Target Port Name |
+ | (i.e., iSCSI Node Name + | |
+ | ,,,t, + Target Portal | |
+ | Group Tag)** | |
+ +-----------------------------+---------------------------+
+ | iSCSI Target Portal Group | SCSI Target Port |
+ +-----------------------------+---------------------------+
+ | iSCSI Initiator Name + | I_T Nexus Identifier |
+ | ',i,' + ISID + iSCSI | |
+ | Target Name + ',t,' + | |
+ | Target Portal Group Tag | |
+ +-----------------------------+---------------------------+
+ | Target Portal Group Tag | Relative Port ID |
+ +-----------------------------+---------------------------+
+
+ ** The text encoding of the ISID value and the Target Portal Group
+ Tag value includes an initial ,,0X or ,,0x (see [RFC7143]).
+
+
+
+Knight & Chadalapaka Standards Track [Page 6]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ The following diagram shows an example of a combination target device
+ and initiator device. Such a configuration may exist in a target
+ device that implements a SCSI Copy Manager. This example shows how a
+ session that shares Network Portals within a Portal Group may be
+ established (see Target Portal Group 1). In addition, this example
+ shows the initiator using a different portal group than the target
+ portal group, but the initiator portal group sharing Network Portal A
+ with the target portal group.
+
+ ----------------------------IP Network---------------------
+ | | |
+ +----|---------------|-------+ +----|------------+
+ | +----------+ +----------+ | | +----------+ |
+ | | Network | | Network | | | | Network | |
+ | | Portal A | | Portal B | | | | Portal A | |
+ | +----------+ +----------+ | | +----------+ |
+ | | Target | | | | Initiator |
+ | | Portal | | | | Portal |
+ | | Group 1 | | | | Group 2 |
+ +----|---------------|-------+ +----|------------+
+ | | |
+ +----------|---------------|--------------------|--------------------+
+ | +--------|---------------|----+ +-------------|------------------+ |
+ | |+-------|---------------|---+| |+------------|-----------------+| |
+ | ||iSCSI Session (Target side)|| ||iSCSI Session (Initiator side)|| |
+ | || || || || |
+ | || (TSIH = 56) || || (SSID = 48) || |
+ | |+---------------------------+| |+------------------------------+| |
+ | | | | | |
+ | | iSCSI Target Node | | iSCSI Initiator Node | |
+ | +-----------------------------+ +--------------------------------+ |
+ | iSCSI Node |
+ | (within Network Entity, not shown) |
+ +--------------------------------------------------------------------+
+
+4. New Feature Use
+
+4.1. Negotiation of New Feature Use
+
+ The iSCSIProtocolLevel operational text key (see Section 7.1.1)
+ containing a value of "2" MUST be negotiated to enable the use of
+ features described in this RFC.
+
+ This is an iSCSI negotiation mechanism that enabled iSCSI support for
+ corresponding SCSI capabilities (see [SAM5] and [SPC4]). For this
+ reason, negotiation of this key to a value of "2" is necessary but
+ not sufficient for use of the SCSI capabilities enabled by the iSCSI
+ features in this RFC.
+
+
+
+Knight & Chadalapaka Standards Track [Page 7]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ For example, an iSCSI implementation may negotiate this new key to
+ "2" but respond to the new task management functions (see Section
+ 6.3) with "Task management function not supported" (which indicates a
+ SCSI error that prevents the function from being performed). In
+ contrast, if the key is negotiated to "2", an iSCSI implementation
+ MUST NOT reject a Task Management Function Request PDU that requests
+ one of the new task management functions (as such a reject would
+ report an iSCSI protocol error).
+
+4.2. Impact on Standard INQUIRY Data - iSCSI Version Descriptors
+
+ The negotiated value of the iSCSIProtocolLevel key is an increment
+ from the base iSCSI version descriptor value (0960h); see [SPC4]. If
+ the SCSI device server returns an iSCSI version descriptor in the
+ standard INQUIRY data, then the value returned in that iSCSI version
+ descriptor MUST be set to the sum of the base value (0960h) plus the
+ negotiated value of the iSCSIProtocolLevel key. (For example, if the
+ negotiated iSCSIProtocolLevel=2, then if an iSCSI version descriptor
+ is returned in the standard INQUIRY data, it is set to 0962h.)
+
+ In support of this functionality, INCITS Technical Committee T10,
+ which is responsible for SCSI standards, has assigned SCSI version
+ descriptor codes 0961h-097Fh to RFC 7144 for IANA to manage via the
+ values 1-31 of the iSCSIProtocolLevel key; see Section 9. The "No
+ version claimed" description for the value 0 of the
+ iSCSIProtocolLevel key corresponds to the existing T10 assignment of
+ the 0960h SCSI version descriptor code to "iSCSI (no version
+ claimed)" -- for this reason, the assignment of the value 0 in the
+ IANA registry for the iSCSIProtocolLevel key must not be changed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 8]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+5. SCSI Commands
+
+5.1. SCSI Command Additions
+
+ The format of the SCSI Command PDU is:
+
+ Byte/ 0 | 1 | 2 | 3 |
+ / | | | |
+ |0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|
+ +---------------+---------------+---------------+---------------+
+ 0|.|I| 0x01 |F|R|W|. .|ATTR | PRI | Reserved |
+ +---------------+---------------+---------------+---------------+
+ 4|TotalAHSLength | DataSegmentLength |
+ +---------------+---------------+---------------+---------------+
+ 8| Logical Unit Number (LUN) |
+ + +
+ 12| |
+ +---------------+---------------+---------------+---------------+
+ 16| Initiator Task Tag |
+ +---------------+---------------+---------------+---------------+
+ 20| Expected Data Transfer Length |
+ +---------------+---------------+---------------+---------------+
+ 24| CmdSN |
+ +---------------+---------------+---------------+---------------+
+ 28| ExpStatSN |
+ +---------------+---------------+---------------+---------------+
+ 32/ SCSI Command Descriptor Block (CDB) /
+ +/ /
+ +---------------+---------------+---------------+---------------+
+ 48/ AHS (Optional) /
+ +---------------+---------------+---------------+---------------+
+ x/ Header Digest (Optional) /
+ +---------------+---------------+---------------+---------------+
+ y/ (DataSegment, Command Data) (Optional) /
+ +/ /
+ +---------------+---------------+---------------+---------------+
+ z/ Data Digest (Optional) /
+ +---------------+---------------+---------------+---------------+
+
+ The SCSI Command PDU above is duplicated from [RFC7143] for reference
+ to show the PRI field. For any field other than the PRI field, the
+ text in [RFC7143] supersedes the text in Section 5.1 of this document
+ in the event the two documents conflict.
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 9]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+5.1.1. Command Priority (Byte 2)
+
+ The Command Priority (PRI) is a four-bit field that specifies the
+ relative scheduling importance of this command in relation to other
+ commands already in the task set with SIMPLE task attributes (see
+ [SAM5]).
+
+ Section 11 ("iSCSI PDU Formats") of [RFC7143] requires that senders
+ set this field to zero. A sender MUST NOT set this field to a value
+ other than zero unless the iSCSIProtocolLevel text key defined in
+ Section 7.1.1 has been negotiated on the session with a value of "2".
+
+ This field MUST be ignored by iSCSI targets unless the
+ iSCSIProtocolLevel text key with a value of "2" as defined in Section
+ 7.1.1 was negotiated on the session.
+
+ See [SAM5] for additional considerations on the use of the Command
+ Priority field.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 10]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+5.2. SCSI Response Additions
+
+ The format of the SCSI Response PDU is:
+
+ Byte/ 0 | 1 | 2 | 3 |
+ / | | | |
+ |0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|
+ +---------------+---------------+---------------+---------------+
+ 0|.|.| 0x21 |1|. .|o|u|O|U|.| Response | Status |
+ +---------------+---------------+---------------+---------------+
+ 4|TotalAHSLength | DataSegmentLength |
+ +---------------+---------------+---------------+---------------+
+ 8| Status Qualifier | Reserved |
+ +---------------+---------------+---------------+---------------+
+ 12| Reserved |
+ +---------------+---------------+---------------+---------------+
+ 16| Initiator Task Tag |
+ +---------------+---------------+---------------+---------------+
+ 20| SNACK Tag or Reserved |
+ +---------------+---------------+---------------+---------------+
+ 24| StatSN |
+ +---------------+---------------+---------------+---------------+
+ 28| ExpCmdSN |
+ +---------------+---------------+---------------+---------------+
+ 32| MaxCmdSN |
+ +---------------+---------------+---------------+---------------+
+ 36| ExpDataSN or Reserved |
+ +---------------+---------------+---------------+---------------+
+ 40| Bidirectional Read Residual Count or Reserved |
+ +---------------+---------------+---------------+---------------+
+ 44| Residual Count or Reserved |
+ +---------------+---------------+---------------+---------------+
+ 48| Header-Digest (Optional) |
+ +---------------+---------------+---------------+---------------+
+ / Data Segment (Optional) /
+ +/ /
+ +---------------+---------------+---------------+---------------+
+ | Data-Digest (Optional) |
+ +---------------+---------------+---------------+---------------+
+
+ The SCSI Response PDU above is duplicated from [RFC7143] for
+ reference to show the Status Qualifier field. For any field other
+ than the Status field, the Status Qualifier field, and the Data
+ Segment - Sense and Response Data Segment field, the text in
+ [RFC7143] supersedes the text in Section 5.2 of this document in the
+ event the two documents conflict.
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 11]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+5.2.1. Status Qualifier
+
+ The Status Qualifier provides additional status information (see
+ [SAM5]).
+
+ As defined in Section 11 ("iSCSI PDU Formats") of [RFC7143],
+ compliant senders already set this field to zero. Compliant senders
+ MUST NOT set this field to a value other than zero unless the
+ iSCSIProtocolLevel text key with a value of "2" as defined in Section
+ 7.1.1 was negotiated on the session.
+
+ This field MUST be ignored by receivers unless the iSCSIProtocolLevel
+ text key with a value of "2" as defined in Section 7.1.1 was
+ negotiated on the session.
+
+5.2.2. Data Segment - Sense and Response Data Segment
+
+ Section 11.4.7 of [RFC7143] specifies that iSCSI targets MUST support
+ and enable Autosense. If Status is CHECK CONDITION (0x02), then the
+ Data Segment MUST contain sense data for the failed command. While
+ [RFC7143] does not make any statements about the state of the Data
+ Segment when the Status is not CHECK CONDITION (0x02) (i.e., the Data
+ Segment is not prohibited from containing sense data when the Status
+ is not CHECK CONDITION), negotiation of the iSCSIProtocolLevel text
+ key with a value of "2" as defined in Section 7.1.1 explicitly
+ indicates that the Data Segment MAY contain sense data at any time,
+ no matter what value is set in the Status field.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 12]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+6. Task Management Functions
+
+6.1. Task Management Function Request PDU
+
+ Byte/ 0 | 1 | 2 | 3 |
+ / | | | |
+ |0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|
+ +---------------+---------------+---------------+---------------+
+ 0|.|I| 0x02 |1| Function | Reserved |
+ +---------------+---------------+---------------+---------------+
+ 4|TotalAHSLength | DataSegmentLength |
+ +---------------+---------------+---------------+---------------+
+ 8| Logical Unit Number (LUN) |
+ + +
+ 12| |
+ +---------------+---------------+---------------+---------------+
+ 16| Initiator Task Tag |
+ +---------------+---------------+---------------+---------------+
+ 20| Referenced Task Tag or 0xffffffff |
+ +---------------+---------------+---------------+---------------+
+ 24| CmdSN |
+ +---------------+---------------+---------------+---------------+
+ 28| ExpStatSN |
+ +---------------+---------------+---------------+---------------+
+ 32| RefCmdSN or Reserved |
+ +---------------+---------------+---------------+---------------+
+ 36| ExpDataSN or Reserved |
+ +---------------+---------------+---------------+---------------+
+ 40| Reserved /
+ +/ /
+ +---------------+---------------+---------------+---------------+
+ 48| Header-Digest (Optional) |
+ +---------------+---------------+---------------+---------------+
+
+ The Task Management Function Request PDU above is duplicated from
+ [RFC7143] for reference only. [RFC7143] supersedes the text in
+ Sections 6.1 and 6.2 of this document in the event the two documents
+ conflict.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 13]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+6.2. Existing Task Management Functions
+
+ Section 11.5 of [RFC7143] defines the semantics used to request that
+ SCSI task management functions be performed. The following task
+ management functions are defined:
+
+ 1 - ABORT TASK
+ 2 - ABORT TASK SET
+ 3 - CLEAR ACA
+ 4 - CLEAR TASK SET
+ 5 - LOGICAL UNIT RESET
+ 6 - TARGET WARM RESET
+ 7 - TARGET COLD RESET
+ 8 - TASK REASSIGN
+
+6.3. Task Management Function Additions
+
+ Additional task management function codes are listed below. For a
+ more detailed description of SCSI task management, see [SAM5].
+
+ 9 - QUERY TASK - determine if the command identified by the
+ Referenced Task Tag field is present in the task set.
+
+ 10 - QUERY TASK SET - determine if any command is present in the
+ task set for the I_T_L Nexus on which the task management
+ function was received.
+
+ 11 - I_T NEXUS RESET - perform an I_T nexus loss function (see
+ [SAM5]) for the I_T nexus on which the task management function
+ was received.
+
+ 12 - QUERY ASYNCHRONOUS EVENT - determine if there is a unit
+ attention condition or a deferred error pending for the I_T_L
+ nexus on which the task management function was received.
+
+ These task management function requests MUST NOT be sent unless the
+ iSCSIProtocolLevel text key with a value of "2" as defined in Section
+ 7.1.1 was negotiated on the session.
+
+ Any compliant initiator that sends any of the new task management
+ functions defined in this section MUST also support all new task
+ management function responses (as specified in Section 6.4.2).
+
+ For all of the task management functions detailed in this section,
+ the Task Management Function Response MUST be returned as detailed in
+ Section 6.4.
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 14]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ The iSCSI target MUST ensure that no responses for the commands
+ covered by a task management function are sent to the iSCSI initiator
+ port after the Task Management response except for commands covered
+ by a TASK REASSIGN, QUERY TASK, or QUERY TASK SET.
+
+ If a QUERY TASK is issued for a task created by an immediate command,
+ then RefCmdSN MUST be that of the Task Management request itself
+ (i.e., CmdSN and RefCmdSN are equal); otherwise, RefCmdSN MUST be set
+ to the CmdSN of the task to be queried (lower than CmdSN).
+
+ If the connection is still active (it is not undergoing an implicit
+ or explicit logout), QUERY TASK MUST be issued on the same connection
+ to which the task to be queried is allegiant at the time the Task
+ Management request is issued. If the connection is implicitly or
+ explicitly logged out (i.e., no other request will be issued on the
+ failing connection and no other response will be received on the
+ failing connection), then a QUERY TASK function request may be issued
+ on another connection. This Task Management request will then
+ establish a new allegiance for the command being queried.
+
+ At the target, a QUERY TASK function MUST NOT be executed on a Task
+ Management request; such a request MUST result in Task Management
+ response of "Function rejected".
+
+ For the I_T NEXUS RESET function, the target device MUST respond to
+ the function as defined in [SAM5]. Each logical unit accessible via
+ the receiving I_T NEXUS MUST behave as dictated by the I_T nexus loss
+ function in [SAM5] for the I_T nexus on which the task management
+ function was received. The target device MUST drop all connections
+ in the session over which this function is received. Independent of
+ the DefaultTime2Wait and DefaultTime2Retain values applicable to the
+ session over which this function is received, the target device MUST
+ consider each participating connection in the session to have
+ immediately timed out, leading to FREE state. The resulting timeouts
+ cause the session timeout event defined in [RFC7143], which in turn
+ triggers the I_T nexus loss notification to the SCSI layer as
+ described in [RFC7143].
+
+6.3.1. LUN Field
+
+ This field is required for functions that address a specific LU
+ (i.e., ABORT TASK, CLEAR TASK SET, ABORT TASK SET, CLEAR ACA, LOGICAL
+ UNIT RESET, QUERY TASK, QUERY TASK SET, and QUERY ASYNCHRONOUS EVENT)
+ and is reserved in all others.
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 15]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+6.3.2. Referenced Task Tag
+
+ The Reference Task Tag is the Initiator Task Tag of the task to be
+ aborted for the ABORT TASK function, reassigned for the TASK REASSIGN
+ function, or queried for the QUERY TASK function. For all other
+ functions, this field MUST be set to the reserved value 0xffffffff.
+
+6.3.3. RefCmdSN
+
+ If a QUERY TASK is issued for a task created by an immediate command
+ then RefCmdSN MUST be that of the Task Management request itself
+ (i.e., CmdSN and RefCmdSN are equal).
+
+ For a QUERY TASK of a task created by non-immediate command RefCmdSN
+ MUST be set to the CmdSN of the task identified by the Referenced
+ Task Tag field. Targets must use this field as described in section
+ 11.6.1 of [RFC7143] when the task identified by the Referenced Task
+ Tag field is not in the task set.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 16]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+6.4. Task Management Function Responses
+
+6.4.1. Task Management Function Response PDU
+
+ Byte/ 0 | 1 | 2 | 3 |
+ / | | | |
+ |0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|0 1 2 3 4 5 6 7|
+ +---------------+---------------+---------------+---------------+
+ 0|.|.| 0x22 |1| Reserved | Response | Reserved |
+ +---------------+---------------+---------------+---------------+
+ 4|TotalAHSLength | DataSegmentLength |
+ +-----------------------------------------------+---------------+
+ 8| Additional Response Information | Reserved |
+ +-----------------------------------------------+---------------+
+ 12| Reserved |
+ +---------------+---------------+---------------+---------------+
+ 16| Initiator Task Tag |
+ +---------------+---------------+---------------+---------------+
+ 20| Reserved |
+ +---------------+---------------+---------------+---------------+
+ 24| StatSN |
+ +---------------+---------------+---------------+---------------+
+ 28| ExpCmdSN |
+ +---------------+---------------+---------------+---------------+
+ 32| MaxCmdSN |
+ +---------------+---------------+---------------+---------------+
+ 36/ Reserved /
+ +/ /
+ +---------------+---------------+---------------+---------------+
+ 48| Header-Digest (Optional) |
+ +---------------+---------------+---------------+---------------+
+
+ Section 11.6 of [RFC7143] defines the semantics used for responses to
+ SCSI task management functions. The following responses are defined
+ in [RFC7143]:
+
+ 0 - Function Complete
+ 1 - Task does not exist
+ 2 - LUN does not exist
+ 3 - Task still allegiant
+ 4 - Task allegiance reassignment not supported
+ 5 - Task management function not supported
+ 6 - Function authorization failed
+ 255 - Function rejected
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 17]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ The Task Management Function Response PDU above and the list of task
+ management function responses above are duplicated from [RFC7143] for
+ reference only. [RFC7143] supersedes the text in section 6.4.1 of
+ this document in the event the two documents conflict.
+
+ Responses to new task management functions (see Section 6.4.2) are
+ listed below. In addition, a new task Management response is listed
+ below. For a more detailed description of SCSI task management
+ responses, see [SAM5].
+
+ For the functions QUERY TASK, QUERY TASK SET, I_T NEXUS RESET, and
+ QUERY ASYNCHRONOUS EVENT, the target performs the requested Task
+ Management function and sends a Task Management response back to the
+ initiator.
+
+6.4.2. Task Management Function Response Additions
+
+ The new response is listed below:
+
+ 7 - Function succeeded
+
+ In symbolic terms Response value 7 maps to the SCSI service response
+ of FUNCTION SUCCEEDED in [SAM5].
+
+ The Task Management Function Response of "Function succeeded" MUST be
+ supported by an initiator that sends any of the new task management
+ functions (see Section 6.3).
+
+ For the QUERY TASK function, if the specified task is in the task
+ set, then the logical unit returns a Response value of "Function
+ succeeded", and additional response information is returned as
+ specified in [SAM5]. If the specified task is not in the task set,
+ then the logical unit returns a Response value of "Function
+ complete".
+
+ For the QUERY TASK SET function, if there is any command present in
+ the task set from the specified I_T_L nexus, then the logical unit
+ returns a Response value of "Function succeeded". If there are no
+ commands present in the task set from the specified I_T_L nexus, then
+ the logical unit returns a Response value of "Function complete".
+
+ For the I_T NEXUS RESET function, after completion of the events
+ described in Section 6.3 for this function, the logical unit returns
+ a Response value of "Function complete". However, because the target
+ drops all connections, the Service Response (defined by [SAM5]) for
+ this SCSI task management function may not be reliably delivered to
+ the issuing initiator port.
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 18]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ For the QUERY ASYNCHRONOUS EVENT, if there is a unit attention
+ condition or deferred error pending for the specified I_T_L nexus,
+ then the logical unit returns a Response value of "Function
+ succeeded", and additional response information is returned as
+ specified in [SAM5]. If there is no unit attention or deferred error
+ pending for the specified I_T_L nexus, then the logical unit returns
+ a Response value of "Function complete".
+
+6.5. Task Management Requests Affecting Multiple Tasks
+
+ Section 4.1 of [RFC5048] defines the notion of "affected tasks" in
+ multi-task abort scenarios. This section adds to the list included
+ in that section by defining the tasks affected by the I_T NEXUS RESET
+ function.
+
+ I_T NEXUS RESET: All outstanding tasks received on the I_T nexus
+ on which the function request was received for all logical
+ units accessible to the I_T nexus.
+
+ Sections 4.1.2 and 4.1.3 of [RFC5048] identify semantics for task
+ management functions that involve multi-task abort operations. If an
+ iSCSI implementation supports the I_T NEXUS RESET function, it MUST
+ also support the protocol behavior as defined in those sections and
+ follow the sequence of actions as described in those sections when
+ processing the I_T NEXUS RESET function.
+
+7. Login/Text Operational Text Keys
+
+7.1. New Operational Text Keys
+
+7.1.1. iSCSIProtocolLevel
+
+ Use: LO, IO
+ Irrelevant when: SessionType = Discovery
+ Senders: Initiator and Target
+ Scope: SW
+
+ iSCSIProtocolLevel=<numerical-value-from-0-to-31>
+
+ Default is 1.
+ Result function is Minimum.
+
+ This key is used to negotiate the use of iSCSI features that require
+ different levels of protocol support (e.g., PDU formats, end-node
+ semantics) for proper operation.
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 19]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ Negotiation of the iSCSIProtocolLevel key to a value corresponding to
+ an RFC indicates that both negotiating parties are compliant to the
+ RFC in question and agree to support the corresponding PDU formats
+ and semantics on that iSCSI session. Features using this key are
+ expected to be cumulative.
+
+ An iSCSIProtocolLevel key negotiated to "0" indicates that the
+ implementation does not claim a specific iSCSI protocol level.
+
+ An iSCSIProtocolLevel key negotiated to "1" indicates that the
+ implementation claims compliance with [RFC7143].
+
+ An iSCSIProtocolLevel key negotiated to "2" is required to enable use
+ of features defined in this RFC.
+
+ If the negotiation answer is ignored by the acceptor, or the answer
+ from the remote iSCSI end point is key=NotUnderstood, then the
+ features defined in this RFC, and the features defined in any RFC
+ requiring a key value greater than "2", MUST NOT be used.
+
+8. Security Considerations
+
+ Command priorities are relative values, not absolute values (see
+ [SAM5], and affect collections of commands, not necessarily
+ individual commands (see [SAM5]). If command priority is supported,
+ it should be implemented in a fashion that avoids unwanted reduction
+ or denial of service.
+
+ All the iSCSI-related security text in [RFC3723] is directly
+ applicable to this document. The security text in [RFC7143] is
+ directly applicable as well.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 20]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+9. IANA Considerations
+
+ This document modifies or creates a number of iSCSI-related
+ registries.
+
+ The following iSCSI-related registries are modified.
+
+ 1. iSCSI Task Management Functions Codes
+
+ Name of the existing registry: "iSCSI Task Management Function
+ Codes"
+
+ The following entries have been added:
+
+ 9 - QUERY TASK, RFC 7144
+
+ 10 - QUERY TASK SET, RFC 7144
+
+ 11 - I_T NEXUS RESET, RFC 7144
+
+ 12 - QUERY ASYNCHRONOUS EVENT, RFC 7144
+
+ 13-127 - Unassigned
+
+ 2. iSCSI Login/Text Keys
+
+ Name of the existing registry: "iSCSI Login/Text Keys"
+
+ Fields to record in the registry: Assigned value and its
+ associated RFC reference.
+
+ The following entry has been added:
+
+ iSCSIProtocolLevel, RFC 7144
+
+ IANA has created the following iSCSI-related registries.
+
+ 3. iSCSI Protocol Level
+
+ Name of new registry: "iSCSI Protocol Level"
+
+ Namespace details: Numerical values from 0 to 31
+
+ Information that must be provided to assign a new value: An IESG-
+ approved Standards Track specification defining the semantics and
+ interoperability requirements of the proposed new value and the
+ fields to be recorded in the registry.
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 21]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ Assignment policy:
+
+ The assignments of these values must be coordinated with the
+ INCITS T10 committee; therefore, review by an expert that
+ maintains an association with that committee is required prior to
+ IESG approval of the associated specification. After creation of
+ the registry, values are to be assigned sequentially (for example,
+ any value greater than 4 will not be assigned until after the
+ value 4 has been assigned).
+
+ Special care must be taken in the assignment of new values in this
+ registry. Compatibility and interoperability will be adversely
+ impacted if proper care is not exercised. Features using this key
+ are expected to be cumulative. For example, since this document
+ explicitly lists only value 2 for the features listed in this
+ document, it is expected that a new RFC assigning value 3 will
+ also have the features listed in this RFC, and therefore such an
+ RFC is expected to either revise or replace this RFC. Assignments
+ that do not follow this policy should be reviewed and approved by
+ the INCITS T10 committee.
+
+ 3-31: range available to IANA for assignment in this registry.
+
+ Fields to record in the registry: Assigned value, description, and
+ its associated RFC reference.
+
+ The following entries have been added:
+
+ Value Description Reference
+
+ 0 No version claimed RFC 7144
+
+ 1 RFC 7143 [RFC7143]
+
+ 2 RFC 7144 RFC 7144
+
+ 3-31 Unassigned
+
+ Allocation Policy: Expert Review and Standards Action [RFC5226]
+
+ 4. iSCSI Task Management Function Response Codes
+
+ Name of new registry: "iSCSI Task Management Function Response
+ Codes"
+
+ Namespace details: Numerical values that can fit in 8 bits.
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 22]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ Information that must be provided to assign a new value: An IESG-
+ approved specification defining the semantics and interoperability
+ requirements of the proposed new value and the fields to be
+ recorded in the registry.
+
+ Assignment policy:
+
+ If the requested value is not already assigned, it may be assigned
+ to the requester.
+
+ 8-254: Range available to IANA for assignment in this registry.
+
+ Fields to record in the registry: Assigned value, Operation Name,
+ and its associated RFC reference.
+
+ The following entries have been added:
+
+ 0 - Function complete, [RFC7143]
+
+ 1 - Task does not exist, [RFC7143]
+
+ 2 - LUN does not exist, [RFC7143]
+
+ 3 - Task still allegiant, [RFC7143]
+
+ 4 - Task allegiance reassignment not supported, [RFC7143]
+
+ 5 - Task management function not supported, [RFC7143]
+
+ 6 - Function authorization failed, [RFC7143]
+
+ 7 - Function succeeded, RFC 7144
+
+ 8-254 - Unassigned
+
+ 255 - Function rejected, [RFC7143]
+
+ Allocation Policy: Standards Action [RFC5226]
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 23]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+10. References
+
+10.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC3723] Aboba, B., Tseng, J., Walker, J., Rangan, V., and F.
+ Travostino, "Securing Block Storage Protocols over IP",
+ RFC 3723, April 2004.
+
+ [RFC5048] Chadalapaka, M., Ed., "Internet Small Computer System
+ Interface (iSCSI) Corrections and Clarifications", RFC
+ 5048, October 2007.
+
+ [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
+ IANA Considerations Section in RFCs", BCP 26, RFC 5226,
+ May 2008.
+
+ [RFC7143] Chadalapaka, M., Satran, J., Meth, K., and D. Black,
+ "Internet Small Computer System Interface (iSCSI) Protocol
+ (Consolidated)", RFC 7143, April 2014.
+
+ [SAM2] INCITS Technical Committee T10, "SCSI Architecture Model -
+ 2 (SAM-2)", ANSI INCITS 366-2003, ISO/IEC 14776-412, 2003.
+
+ [SAM5] INCITS Technical Committee T10, "SCSI Architecture Model -
+ 5 (SAM-5)", T10/BSR INCITS 515 rev 04, Committee Draft.
+
+ [SPC4] INCITS Technical Committee T10, "SCSI Primary Commands -
+ 4", ANSI INCITS 513-201x.
+
+10.2. Informative References
+
+ [RFC3720] Satran, J., Meth, K., Sapuntzakis, C., Chadalapaka, M.,
+ and E. Zeidner, "Internet Small Computer Systems Interface
+ (iSCSI)", RFC 3720, April 2004.
+
+11. Acknowledgements
+
+ The Storage Maintenance (STORM) Working Group in the Transport Area
+ of the IETF has been responsible for defining these additions to the
+ iSCSI protocol (apart from other relevant IP Storage protocols). The
+ authors acknowledge the contributions of the entire working group and
+ other IETF reviewers.
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 24]
+
+RFC 7144 iSCSI SCSI Features Update April 2014
+
+
+ The following individuals directly contributed to identifying issues
+ and/or suggesting resolutions to the issues clarified in this
+ document: David Black, Rob Elliott. This document benefited from all
+ of these contributions.
+
+Authors' Addresses
+
+ Frederick Knight
+ 7301 Kit Creek Road
+ P.O. Box 13917
+ Research Triangle Park, NC 27709
+ USA
+
+ Phone: +1-919-476-5362
+ EMail: knight@netapp.com
+
+
+ Mallikarjun Chadalapaka
+ Microsoft
+ One Microsoft Way
+ Redmond, WA 98052
+ USA
+
+ EMail: cbm@chadalapaka.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Knight & Chadalapaka Standards Track [Page 25]
+