summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc5048.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/rfc5048.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc5048.txt')
-rw-r--r--doc/rfc/rfc5048.txt2131
1 files changed, 2131 insertions, 0 deletions
diff --git a/doc/rfc/rfc5048.txt b/doc/rfc/rfc5048.txt
new file mode 100644
index 0000000..a586df5
--- /dev/null
+++ b/doc/rfc/rfc5048.txt
@@ -0,0 +1,2131 @@
+
+
+
+
+
+
+Network Working Group M. Chadalapaka, Ed.
+Request for Comments: 5048 Hewlett-Packard Co.
+Updates: 3720 October 2007
+Category: Standards Track
+
+
+ Internet Small Computer System Interface (iSCSI)
+ Corrections and Clarifications
+
+Status of This Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ The Internet Small Computer System Interface (iSCSI) is a SCSI
+ transport protocol and maps the SCSI architecture and command sets
+ onto TCP/IP. RFC 3720 defines the iSCSI protocol. This document
+ compiles the clarifications to the original protocol definition in
+ RFC 3720 to serve as a companion document for the iSCSI implementers.
+ This document updates RFC 3720 and the text in this document
+ supersedes the text in RFC 3720 when the two differ.
+
+Table of Contents
+
+ 1. Introduction ....................................................3
+ 2. Definitions, Acronyms, and Document Summary .....................3
+ 2.1. Definitions ................................................3
+ 2.2. Acronyms ...................................................4
+ 2.3. Clarifications, Changes, and New Semantics .................5
+ 3. iSCSI Semantics for SCSI Tasks ..................................7
+ 3.1. Residual Handling ..........................................7
+ 3.1.1. Overview ............................................7
+ 3.1.2. SCSI REPORT LUNS and Residual Overflow ..............7
+ 3.2. R2T Ordering ...............................................9
+ 3.3. Model Assumptions for Response Ordering ....................9
+ 3.3.1. Model Description ..................................10
+ 3.3.2. iSCSI Semantics with the Interface Model ...........10
+ 3.3.3. Current List of Fenced Response Use Cases ..........11
+ 4. Task Management ................................................12
+ 4.1. Requests Affecting Multiple Tasks .........................12
+ 4.1.1. Scope of Affected Tasks ............................12
+ 4.1.2. Clarified Multi-Task Abort Semantics ...............13
+ 4.1.3. Updated Multi-Task Abort Semantics .................14
+
+
+
+Chadalapaka Standards Track [Page 1]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ 4.1.4. Affected Tasks Shared across RFC 3720 and
+ FastAbort Sessions .................................16
+ 4.1.5. Implementation Considerations ......................17
+ 4.1.6. Rationale behind the New Semantics .................17
+ 5. Discovery Semantics ............................................19
+ 5.1. Error Recovery for Discovery Sessions .....................19
+ 5.2. Reinstatement Semantics of Discovery Sessions .............19
+ 5.2.1. Unnamed Discovery Sessions .........................20
+ 5.2.2. Named Discovery Sessions ...........................20
+ 5.3. Target PDUs during Discovery ..............................20
+ 6. Negotiation and Others .........................................21
+ 6.1. TPGT Values ...............................................21
+ 6.2. SessionType Negotiation ...................................21
+ 6.3. Understanding NotUnderstood ...............................21
+ 6.4. Outstanding Negotiation Exchanges .........................22
+ 7. iSCSI Error Handling and Recovery ..............................22
+ 7.1. ITT .......................................................22
+ 7.2. Format Errors .............................................22
+ 7.3. Digest Errors .............................................22
+ 7.4. Message Error Checking ....................................23
+ 8. iSCSI PDUs .....................................................23
+ 8.1. Asynchronous Message ......................................23
+ 8.2. Reject ....................................................24
+ 9. Login/Text Operational Text Keys ...............................24
+ 9.1. TaskReporting .............................................24
+ 10. Security Considerations .......................................25
+ 11. IANA Considerations ...........................................26
+ 11.1. iSCSI-Related IANA Registries ............................26
+ 11.2. iSCSI Opcodes ............................................26
+ 11.3. iSCSI Login/Text Keys ....................................28
+ 11.4. iSCSI Asynchronous Events ................................30
+ 11.5. iSCSI Task Management Function Codes .....................31
+ 11.6. iSCSI Login Response Status Codes ........................32
+ 11.7. iSCSI Reject Reason Codes ................................34
+ 11.8. iSER Opcodes .............................................35
+ 12. References ....................................................36
+ 12.1. Normative References .....................................36
+ 12.2. Informative References ...................................36
+ Acknowledgements ..................................................37
+
+
+
+
+
+
+
+
+
+
+
+
+Chadalapaka Standards Track [Page 2]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+1. Introduction
+
+ Several iSCSI implementations have been built since [RFC3720] was
+ published and the iSCSI community is now richer by the resulting
+ implementation expertise. The goal of this document is to leverage
+ this expertise both to offer clarifications to the [RFC3720]
+ semantics and to address defects in [RFC3720] as appropriate. This
+ document intends to offer critical guidance to implementers with
+ regard to non-obvious iSCSI implementation aspects so as to improve
+ interoperability and accelerate iSCSI adoption. This document,
+ however, does not purport to be an all-encompassing iSCSI how-to
+ guide for implementers, nor a complete revision of [RFC3720].
+ Instead, this document is intended as a companion document to
+ [RFC3720] for the iSCSI implementers.
+
+ iSCSI implementers are required to reference [RFC3722] and [RFC3723]
+ in addition to [RFC3720] for mandatory requirements. In addition,
+ [RFC3721] also contains useful information for iSCSI implementers.
+ The text in this document, however, updates and supersedes the text
+ in [RFC3720] whenever there is such a question.
+
+2. Definitions, Acronyms, and Document Summary
+
+2.1. Definitions
+
+ I/O Buffer
+ A buffer that is used in a SCSI Read or Write operation so SCSI
+ data may be sent from or received into that buffer. For a read or
+ write data transfer to take place for a task, an I/O Buffer is
+ required on the initiator and at least one is required on the
+ target.
+
+ SCSI-Presented Data Transfer Length (SPDTL)
+ SPDTL is the aggregate data length of the data that the SCSI layer
+ logically "presents" to the iSCSI layer for a Data-In or Data-Out
+ transfer in the context of a SCSI task. For a bidirectional task,
+ there are two SPDTL values -- one for Data-In and one for Data-
+ Out. Note that the notion of "presenting" includes immediate data
+ per the data transfer model in [SAM2], and excludes overlapping
+ data transfers, if any, requested by the SCSI layer.
+
+ Third-party
+ A term used in this document to denote nexus objects (I_T or
+ I_T_L) and iSCSI sessions that reap the side effects of actions
+ that take place in the context of a separate iSCSI session, while
+ being third parties to the action that caused the side effects.
+ One example of a third-party session is an iSCSI session hosting
+
+
+
+
+Chadalapaka Standards Track [Page 3]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ an I_T_L nexus to an LU that is reset with an LU Reset TMF via a
+ separate I_T nexus.
+
+ 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
+
+ Acronym Definition
+ -------------------------------------------------------------
+
+ EDTL Expected Data Transfer Length
+
+ IANA Internet Assigned Numbers Authority
+
+ IETF Internet Engineering Task Force
+
+ I/O Input - Output
+
+ IP Internet Protocol
+
+ iSCSI Internet SCSI
+
+ iSER iSCSI Extensions for RDMA
+
+ ITT Initiator Task Tag
+
+ LO Leading Only
+
+ LU Logical Unit
+
+ LUN Logical Unit Number
+
+ PDU Protocol Data Unit
+
+ RDMA Remote Direct Memory Access
+
+ R2T Ready To Transfer
+
+ R2TSN Ready To Transfer Sequence Number
+
+ RFC Request For Comments
+
+ SAM SCSI Architecture Model
+
+ SCSI Small Computer Systems Interface
+
+
+
+
+Chadalapaka Standards Track [Page 4]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ SN Sequence Number
+
+ SNACK Selective Negative Acknowledgment - also
+ Sequence Number Acknowledgement for data
+
+ TCP Transmission Control Protocol
+
+ TMF Task Management Function
+
+ TTT Target Transfer Tag
+
+ UA Unit Attention
+
+2.3. Clarifications, Changes, and New Semantics
+
+ This document specifies certain changes to [RFC3720] semantics as
+ well as defines new iSCSI semantics. In addition, this document also
+ clarifies the [RFC3720] semantics. This section summarizes the
+ contents of the document, categorizing each section into one or more
+ of a clarification, change, or new semantic.
+
+ Section 3.1.1: Clarification on iSCSI residuals computation
+ general principles
+
+ Section 3.1.2: Clarification on iSCSI residuals computation with
+ an example
+
+ Section 3.2: Clarification on R2T ordering requirements
+
+ Section 3.3: New Semantics for Response Ordering in multi-
+ connection iSCSI sessions
+
+ Section 4.1.2: Clarifications, changes, and new semantics on
+ multi-task abort semantics that all implementations must comply
+ with
+
+ Section 4.1.3: Changes and new semantics (FastAbort semantics) on
+ multi-task abort semantics that implementations should use for
+ faster error recovery
+
+ Section 4.1.3.1: Changes in iSCSI clearing effects semantics
+ resulting from new FastAbort semantics
+
+ Section 4.1.4: New Semantics on third-party session interactions
+ with the new FastAbort semantics
+
+
+
+
+
+
+Chadalapaka Standards Track [Page 5]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ Section 4.1.5: Clarification on implementation considerations
+ related to outstanding data transfers in order to realize correct
+ iSCSI protocol behavior
+
+ Section 4.1.6: Clarification on the intent behind FastAbort
+ semantics (not clarifications to [RFC3720] semantics)
+
+ Section 5.1: Clarification on error recovery semantics as
+ applicable to Discovery sessions
+
+ Section 5.2.1: Clarification and new semantics on applying the
+ Initiator Session Identifier (ISID) RULE ([RFC3720]) to Unnamed
+ Discovery Sessions
+
+ Section 5.2.2: Clarification on applying the ISID RULE to Named
+ Discovery Sessions
+
+ Section 5.3: Clarification on allowed PDU types and target Logout
+ notification behavior on a Discovery session
+
+ Section 6.1: Clarification on the legality of the Target Portal
+ Group Tag (TPGT) value of zero
+
+ Section 6.2: Clarification on the negotiating order of SessionType
+ with respect to other keys
+
+ Section 6.3: Clarification on the NotUnderstood negotiation
+ response on declarative keys and the implied semantics
+
+ Section 6.4: Clarification on the number of legal outstanding
+ negotiation PDUs (Text or Login-related)
+
+ Section 7.1: Clarification on usage of the ITT value of 0xffffffff
+
+ Section 7.2: Clarification on what constitutes format errors for
+ the purpose of error recovery defined in [RFC3720]
+
+ Section 7.3: Change in error recovery semantics for the case of
+ discarding unsolicited PDUs
+
+ Section 7.4: Clarification on the intended level of error checking
+ on inbound PDUs
+
+ Section 8.1: New semantics for a new AsyncEvent code
+
+ Section 8.2: Change of legal status for Reject reason code 0x0b;
+ it is now deprecated
+
+
+
+
+Chadalapaka Standards Track [Page 6]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ Section 9.1: New semantics for a new text key TaskReporting
+
+3. iSCSI Semantics for SCSI Tasks
+
+3.1. Residual Handling
+
+ Section 10.4.1 of [RFC3720] defines the notion of "residuals" and
+ specifies how the residual information should be encoded into the
+ SCSI Response PDU in the Counts and Flags fields. Section 3.1.1
+ clarifies the intent of [RFC3720] and explains the general
+ principles. Section 3.1.2 describes the residual handling in the
+ REPORT LUNS scenario.
+
+3.1.1. Overview
+
+ SCSI-Presented Data Transfer Length (SPDTL) is the term this document
+ uses (see Section 1.1 for definition) to represent the aggregate data
+ length that the target SCSI layer attempts to transfer using the
+ local iSCSI layer for a task. Expected Data Transfer Length (EDTL)
+ is the iSCSI term that represents the length of data that the iSCSI
+ layer expects to transfer for a task. EDTL is specified in the SCSI
+ Command PDU.
+
+ When SPDTL = EDTL for a task, the target iSCSI layer completes the
+ task with no residuals. Whenever SPDTL differs from EDTL for a task,
+ that task is said to have a residual.
+
+ If SPDTL > EDTL for a task, iSCSI Overflow MUST be signaled in the
+ SCSI Response PDU as specified in [RFC3720]. The Residual Count MUST
+ be set to the numerical value of (SPDTL - EDTL).
+
+ If SPDTL < EDTL for a task, iSCSI Underflow MUST be signaled in the
+ SCSI Response PDU as specified in [RFC3720]. The Residual Count MUST
+ be set to the numerical value of (EDTL - SPDTL).
+
+ Note that the Overflow and Underflow scenarios are independent of
+ Data-In and Data-Out. Either scenario is logically possible in
+ either direction of data transfer.
+
+3.1.2. SCSI REPORT LUNS and Residual Overflow
+
+ This section discusses the residual overflow issues citing the
+ example of the SCSI REPORT LUNS command. Note however that there are
+ several SCSI commands (e.g., INQUIRY) with ALLOCATION LENGTH fields
+ following the same underlying rules. The semantics in the rest of
+ the section apply to all such SCSI commands.
+
+
+
+
+
+Chadalapaka Standards Track [Page 7]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ The specification of the SCSI REPORT LUNS command requires that the
+ SCSI target limit the amount of data transferred to a maximum size
+ (ALLOCATION LENGTH) provided by the initiator in the REPORT LUNS CDB.
+ If the Expected Data Transfer Length (EDTL) in the iSCSI header of
+ the SCSI Command PDU for a REPORT LUNS command is set to at least as
+ large as that ALLOCATION LENGTH, the SCSI layer truncation prevents
+ an iSCSI Residual Overflow from occurring. A SCSI initiator can
+ detect that such truncation has occurred via other information at the
+ SCSI layer. The rest of the section elaborates this required
+ behavior.
+
+ iSCSI uses the (O) bit (bit 5) in the Flags field of the SCSI
+ Response and the last SCSI Data-In PDUs to indicate that an iSCSI
+ target was unable to transfer all of the SCSI data for a command to
+ the initiator because the amount of data to be transferred exceeded
+ the EDTL in the corresponding SCSI Command PDU (see Section 10.4.1 of
+ [RFC3720]).
+
+ The SCSI REPORT LUNS command requests a target SCSI layer to return a
+ logical unit inventory (LUN list) to the initiator SCSI layer (see
+ Section 6.21 of SPC-3 [SPC3]). The size of this LUN list may not be
+ known to the initiator SCSI layer when it issues the REPORT LUNS
+ command; to avoid transferring more LUN list data than the initiator
+ is prepared for, the REPORT LUNS CDB contains an ALLOCATION LENGTH
+ field to specify the maximum amount of data to be transferred to the
+ initiator for this command. If the initiator SCSI layer has under-
+ estimated the number of logical units at the target, it is possible
+ that the complete logical unit inventory does not fit in the
+ specified ALLOCATION LENGTH. In this situation, Section 4.3.3.6 in
+ [SPC3] requires that the target SCSI layer "shall terminate transfers
+ to the Data-In Buffer" when the number of bytes specified by the
+ ALLOCATION LENGTH field have been transferred.
+
+ Therefore, in response to a REPORT LUNS command, the SCSI layer at
+ the target presents at most ALLOCATION LENGTH bytes of data (logical
+ unit inventory) to iSCSI for transfer to the initiator. For a REPORT
+ LUNS command, if the iSCSI EDTL is at least as large as the
+ ALLOCATION LENGTH, the SCSI truncation ensures that the EDTL will
+ accommodate all of the data to be transferred. If all of the logical
+ unit inventory data presented to the iSCSI layer -- i.e., the data
+ remaining after any SCSI truncation -- is transferred to the
+ initiator by the iSCSI layer, an iSCSI Residual Overflow has not
+ occurred and the iSCSI (O) bit MUST NOT be set in the SCSI Response
+ or final SCSI Data-Out PDU. This is not a new requirement but is
+ already required by the combination of [RFC3720] with the
+ specification of the REPORT LUNS command in [SPC3]. However, if the
+ iSCSI EDTL is larger than the ALLOCATION LENGTH in this scenario,
+ note that the iSCSI Underflow MUST be signaled in the SCSI Response
+
+
+
+Chadalapaka Standards Track [Page 8]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ PDU. An iSCSI Underflow MUST also be signaled when the iSCSI EDTL is
+ equal to the ALLOCATION LENGTH but the logical unit inventory data
+ presented to the iSCSI layer is smaller than the ALLOCATION LENGTH.
+
+ The LUN LIST LENGTH field in the logical unit inventory (the first
+ field in the inventory) is not affected by truncation of the
+ inventory to fit in ALLOCATION LENGTH; this enables a SCSI initiator
+ to determine that the received inventory is incomplete by noticing
+ that the LUN LIST LENGTH in the inventory is larger than the
+ ALLOCATION LENGTH that was sent in the REPORT LUNS CDB. A common
+ initiator behavior in this situation is to re-issue the REPORT LUNS
+ command with a larger ALLOCATION LENGTH.
+
+3.2. R2T Ordering
+
+ Section 10.8 in [RFC3720] says the following:
+
+ The target may send several R2T PDUs. It, therefore, can have a
+ number of pending data transfers. The number of outstanding R2T
+ PDUs is limited by the value of the negotiated key
+ MaxOutstandingR2T. Within a connection, outstanding R2Ts MUST be
+ fulfilled by the initiator in the order in which they were
+ received.
+
+ The quoted [RFC3720] text was unclear on the scope of applicability
+ -- either per task, or across all tasks on a connection -- and may be
+ interpreted as either. This section is intended to clarify that the
+ scope of applicability of the quoted text is a task. No R2T ordering
+ relationship -- either in generation at the target or in fulfilling
+ at the initiator -- across tasks is implied. That is, outstanding
+ R2Ts within a task MUST be fulfilled by the initiator in the order in
+ which they were received on a connection.
+
+3.3. Model Assumptions for Response Ordering
+
+ Whenever an iSCSI session is composed of multiple connections, the
+ Response PDUs (task responses or TMF responses) originating in the
+ target SCSI layer are distributed onto the multiple connections by
+ the target iSCSI layer according to iSCSI connection allegiance
+ rules. This process generally may not preserve the ordering of the
+ responses by the time they are delivered to the initiator SCSI layer.
+ Since ordering is not expected across SCSI responses anyway, this
+ approach works fine in the general case. However, to address the
+ special cases where some ordering is desired by the SCSI layer, the
+ following "Response Fence" semantics are defined with respect to
+ handling SCSI response messages as they are handed off from the SCSI
+ protocol layer to the iSCSI layer.
+
+
+
+
+Chadalapaka Standards Track [Page 9]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+3.3.1. Model Description
+
+ The target SCSI protocol layer hands off the SCSI response messages
+ to the target iSCSI layer by invoking the "Send Command Complete"
+ protocol data service ([SAM2], clause 5.4.2) and "Task Management
+ Function Executed" ([SAM2], clause 6.9) service. On receiving the
+ SCSI response message, the iSCSI layer exhibits the Response Fence
+ behavior for certain SCSI response messages (Section 3.3.3 describes
+ the specific instances where the semantics must be realized).
+ Whenever the Response Fence behavior is required for a SCSI response
+ message, the target iSCSI layer MUST ensure that the following
+ conditions are met in delivering the response message to the
+ initiator iSCSI layer:
+
+ (1) Response with Response Fence MUST be delivered chronologically
+ after all the "preceding" responses on the I_T_L nexus, if the
+ preceding responses are delivered at all, to the initiator iSCSI
+ layer.
+
+ (2) Response with Response Fence MUST be delivered chronologically
+ prior to all the "following" responses on the I_T_L nexus.
+
+ The "preceding" and "following" notions refer to the order of handoff
+ of a response message from the target SCSI protocol layer to the
+ target iSCSI layer.
+
+3.3.2. iSCSI Semantics with the Interface Model
+
+ Whenever the TaskReporting key (Section 9.1) is negotiated to
+ ResponseFence or FastAbort for an iSCSI session and the Response
+ Fence behavior is required for a SCSI response message, the target
+ iSCSI layer MUST perform the actions described in this section for
+ that session.
+
+ a) If it is a single-connection session, no special processing is
+ required. The standard SCSI Response PDU build and dispatch
+ process happens.
+
+ b) If it is a multi-connection session, the target iSCSI layer
+ takes note of the last-sent and unacknowledged StatSN on each
+ of the connections in the iSCSI session, and waits for an
+ acknowledgement (NOP-In PDUs MAY be used to solicit
+ acknowledgements as needed in order to accelerate this process)
+ of each such StatSN to clear the fence. The SCSI response
+ requiring Response Fence behavior MUST NOT be sent to the
+ initiator before acknowledgements are received for each of the
+ unacknowledged StatSNs.
+
+
+
+
+Chadalapaka Standards Track [Page 10]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ c) The target iSCSI layer must wait for an acknowledgement of the
+ SCSI Response PDU that carried the SCSI response requiring the
+ Response Fence behavior. The fence MUST be considered cleared
+ only after receiving the acknowledgement.
+
+ d) All further status processing for the LU is resumed only after
+ clearing the fence. If any new responses for the I_T_L nexus
+ are received from the SCSI layer before the fence is cleared,
+ those Response PDUs MUST be held and queued at the iSCSI layer
+ until the fence is cleared.
+
+3.3.3. Current List of Fenced Response Use Cases
+
+ This section lists the fenced response use cases that iSCSI
+ implementations MUST comply with. However, this is not an exhaustive
+ enumeration. It is expected that as SCSI protocol specifications
+ evolve, the specifications will specify when response fencing is
+ required on a case-by-case basis.
+
+ Whenever the TaskReporting key (Section 9.1) is negotiated to
+ ResponseFence or FastAbort for an iSCSI session, the target iSCSI
+ layer MUST assume that the Response Fence is required for the
+ following SCSI completion messages:
+
+ 1. The first completion message carrying the UA after the multi-
+ task abort on issuing and third-party sessions. See Section
+ 4.1.1 for related TMF discussion.
+
+ 2. The TMF Response carrying the multi-task TMF Response on the
+ issuing session.
+
+ 3. The completion message indicating ACA establishment on the
+ issuing session.
+
+ 4. The first completion message carrying the ACA ACTIVE status
+ after ACA establishment on issuing and third-party sessions.
+
+ 5. The TMF Response carrying the Clear ACA response on the issuing
+ session.
+
+ 6. The response to a PERSISTENT RESERVE OUT/PREEMPT AND ABORT
+ command.
+
+ Note: Due to the absence of ACA-related fencing requirements in
+ [RFC3720], initiator implementations SHOULD NOT use ACA on multi-
+ connection iSCSI sessions to targets complying only with [RFC3720].
+ Initiators that want to employ ACA on multi-connection iSCSI sessions
+
+
+
+
+Chadalapaka Standards Track [Page 11]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ SHOULD first assess response-fencing behavior via negotiating for
+ ResponseFence or FastAbort values for the TaskReporting (Section 9.1)
+ key.
+
+4. Task Management
+
+4.1. Requests Affecting Multiple Tasks
+
+ This section clarifies and updates the original text in Section
+ 10.6.2 of [RFC3720]. The clarified semantics (Section 4.1.2) are a
+ superset of the protocol behavior required in the original text and
+ all iSCSI implementations MUST support the new behavior. The updated
+ semantics (Section 4.1.3) on the other hand are mandatory only when
+ the new key TaskReporting (Section 9.1) is negotiated to "FastAbort".
+
+4.1.1. Scope of Affected Tasks
+
+ This section defines the notion of "affected tasks" in multi-task
+ abort scenarios. Scope definitions in this section apply to both the
+ clarified protocol behavior (Section 4.1.2) and the updated protocol
+ behavior (Section 4.1.3).
+
+ ABORT TASK SET: All outstanding tasks for the I_T_L nexus
+ identified by the LUN field in the ABORT TASK SET TMF Request
+ PDU.
+
+ CLEAR TASK SET: All outstanding tasks in the task set for the LU
+ identified by the LUN field in the CLEAR TASK SET TMF Request
+ PDU. See [SPC3] for the definition of a "task set".
+
+ LOGICAL UNIT RESET: All outstanding tasks from all initiators for
+ the LU identified by the LUN field in the LOGICAL UNIT RESET
+ Request PDU.
+
+ TARGET WARM RESET/TARGET COLD RESET: All outstanding tasks from
+ all initiators across all LUs to which the TMF-issuing session
+ has access on the SCSI target device hosting the iSCSI session.
+
+ Usage: An "ABORT TASK SET TMF Request PDU" in the preceding text is
+ an iSCSI TMF Request PDU with the "Function" field set to "ABORT TASK
+ SET" as defined in [RFC3720]. Similar usage is employed for other
+ scope descriptions.
+
+
+
+
+
+
+
+
+
+Chadalapaka Standards Track [Page 12]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+4.1.2. Clarified Multi-Task Abort Semantics
+
+ All iSCSI implementations MUST support the protocol behavior defined
+ in this section as the default behavior. The execution of ABORT TASK
+ SET, CLEAR TASK SET, LOGICAL UNIT RESET, TARGET WARM RESET, and
+ TARGET COLD RESET TMF Requests consists of the following sequence of
+ actions in the specified order on the specified party.
+
+ The initiator iSCSI layer:
+
+ a. MUST continue to respond to each TTT received for the affected
+ tasks.
+
+ b. SHOULD process any responses received for affected tasks in the
+ normal fashion. This is acceptable because the responses are
+ guaranteed to have been sent prior to the TMF response.
+
+ c. SHOULD receive the TMF Response concluding all the tasks in the
+ set of affected tasks unless the initiator has done something
+ (e.g., LU reset, connection drop) that may prevent the TMF
+ Response from being sent or received. The initiator MUST thus
+ conclude all affected tasks as part of this step in either
+ case, and MUST discard any TMF Response received after the
+ affected tasks are concluded.
+
+ The target iSCSI layer:
+
+ a. MUST wait for responses on currently valid target-transfer tags
+ of the affected tasks from the issuing initiator. MAY wait for
+ responses on currently valid target-transfer tags of the
+ affected tasks from third-party initiators.
+
+ b. MUST wait (concurrent with the wait in Step a) for all commands
+ of the affected tasks to be received based on the CmdSN
+ ordering. SHOULD NOT wait for new commands on third-party
+ affected sessions -- only the instantiated tasks have to be
+ considered for the purpose of determining the affected tasks.
+ In the case of target-scoped requests (i.e., TARGET WARM RESET
+ and TARGET COLD RESET), all of the commands that are not yet
+ received on the issuing session in the command stream however
+ can be considered to have been received with no command waiting
+ period -- i.e., the entire CmdSN space up to the CmdSN of the
+ task management function can be "plugged".
+
+ c. MUST propagate the TMF request to and receive the response from
+ the target SCSI layer.
+
+
+
+
+
+Chadalapaka Standards Track [Page 13]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ d. MUST provide the Response Fence behavior for the TMF Response
+ on the issuing session as specified in Section 3.3.2.
+
+ e. MUST provide the Response Fence behavior on the first post-TMF
+ Response on third-party sessions as specified in Section 3.3.2.
+ If some tasks originate from non-iSCSI I_T_L nexuses, then the
+ means by which the target ensures that all affected tasks have
+ returned their status to the initiator are defined by the
+ specific non-iSCSI transport protocol(s).
+
+ Technically, the TMF servicing is complete in Step d. Data transfers
+ corresponding to terminated tasks may however still be in progress on
+ third-party iSCSI sessions even at the end of Step e. The TMF
+ Response MUST NOT be sent by the target iSCSI layer before the end of
+ Step d, and MAY be sent at the end of Step d despite these
+ outstanding data transfers until after Step e.
+
+4.1.3. Updated Multi-Task Abort Semantics
+
+ Protocol behavior defined in this section MUST be implemented by all
+ iSCSI implementations complying with this document. Protocol
+ behavior defined in this section MUST be exhibited by iSCSI
+ implementations on an iSCSI session when they negotiate the
+ TaskReporting (Section 9.1) key to "FastAbort" on that session. The
+ execution of ABORT TASK SET, CLEAR TASK SET, LOGICAL UNIT RESET,
+ TARGET WARM RESET, and TARGET COLD RESET TMF Requests consists of the
+ following sequence of actions in the specified order on the specified
+ party.
+
+ The initiator iSCSI layer:
+
+ a. MUST NOT send any more Data-Out PDUs for affected tasks on the
+ issuing connection of the issuing iSCSI session once the TMF is
+ sent to the target.
+
+ b. SHOULD process any responses received for affected tasks in the
+ normal fashion. This is acceptable because the responses are
+ guaranteed to have been sent prior to the TMF response.
+
+ c. MUST respond to each Async Message PDU with AsyncEvent=5 as
+ defined in Section 8.1.
+
+ d. MUST treat the TMF response as terminating all affected tasks
+ for which responses have not been received, and MUST discard
+ any responses for affected tasks received after the TMF
+ response is passed to the SCSI layer (although the semantics
+
+
+
+
+
+Chadalapaka Standards Track [Page 14]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ defined in this section ensure that such an out-of-order
+ scenario will never happen with a compliant target
+ implementation).
+
+ The target iSCSI layer:
+
+ a. MUST wait for all commands of the affected tasks to be received
+ based on the CmdSN ordering on the issuing session. SHOULD NOT
+ wait for new commands on third-party affected sessions -- only
+ the instantiated tasks have to be considered for the purpose of
+ determining the affected tasks. In the case of target-scoped
+ requests (i.e., TARGET WARM RESET and TARGET COLD RESET), all
+ the commands that are not yet received on the issuing session
+ in the command stream can be considered to have been received
+ with no command waiting period -- i.e., the entire CmdSN space
+ up to the CmdSN of the task management function can be
+ "plugged".
+
+ b. MUST propagate the TMF request to and receive the response from
+ the target SCSI layer.
+
+ c. MUST leave all active "affected TTTs" (i.e., active TTTs
+ associated with affected tasks) valid.
+
+ d. MUST send an Asynchronous Message PDU with AsyncEvent=5
+ (Section 8.1) on:
+
+ i) each connection of each third-party session to which at
+ least one affected task is allegiant if
+ TaskReporting=FastAbort is operational on that third-party
+ session, and
+
+ ii) each connection except the issuing connection of the
+ issuing session that has at least one allegiant affected
+ task.
+
+ If there are multiple affected LUs (say, due to a target reset),
+ then one Async Message PDU MUST be sent for each such LU on each
+ connection that has at least one allegiant affected task. The LUN
+ field in the Asynchronous Message PDU MUST be set to match the LUN
+ for each such LU.
+
+ e. MUST address the Response Fence flag on the TMF Response on the
+ issuing session as defined in Section 3.3.2.
+
+ f. MUST address the Response Fence flag on the first post-TMF
+ Response on third-party sessions as defined in Section 3.3.2.
+ If some tasks originate from non-iSCSI I_T_L nexuses, then the
+
+
+
+Chadalapaka Standards Track [Page 15]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ means by which the target ensures that all affected tasks have
+ returned their status to the initiator are defined by the
+ specific non-iSCSI transport protocol(s).
+
+ g. MUST free up the affected TTTs (and STags, if applicable) and
+ the corresponding buffers, if any, once it receives each
+ associated NOP-Out acknowledgement that the initiator generated
+ in response to each Async Message.
+
+ Technically, the TMF servicing is complete in Step e. Data transfers
+ corresponding to terminated tasks may however still be in progress
+ even at the end of Step f. A TMF Response MUST NOT be sent by the
+ target iSCSI layer before the end of Step e, and MAY be sent at the
+ end of Step e despite these outstanding Data transfers until Step g.
+ Step g specifies an event to free up any such resources that may have
+ been reserved to support outstanding data transfers.
+
+4.1.3.1. Clearing Effects Update
+
+ Appendix F.1 of [RFC3720] specifies the clearing effects of target
+ and LU resets on "Incomplete TTTs" as "Y". This meant that a target
+ warm reset or a target cold reset or an LU reset would clear the
+ active TTTs upon completion. However, the TaskReporting=FastAbort
+ (Section 9.1) semantics defined by this section do not guarantee that
+ the active TTTs are cleared by the end of the reset operations. In
+ fact, the new semantics are designed to allow clearing the TTTs in a
+ "lazy" fashion after the TMF Response is delivered. Thus, when
+ TaskReporting=FastAbort is operational on a session, the clearing
+ effects of reset operations on "Incomplete TTTs" is "N".
+
+4.1.4. Affected Tasks Shared across RFC 3720 and FastAbort Sessions
+
+ If an iSCSI target implementation is capable of supporting
+ TaskReporting=FastAbort functionality (Section 9.1), it may end up in
+ a situation where some sessions have TaskReporting=RFC3720
+ operational (RFC 3720 sessions) while some other sessions have
+ TaskReporting=FastAbort operational (FastAbort sessions) even while
+ accessing a shared set of affected tasks (Section 4.1.1).
+
+ If the issuing session is an RFC 3720 session, the iSCSI target
+ implementation is FastAbort-capable, and the third-party affected
+ session is a FastAbort session, the following behavior SHOULD be
+ exhibited by the iSCSI target layer:
+
+ a. Between Steps c and d of the target behavior in Section 4.1.2,
+ send an Asynchronous Message PDU with AsyncEvent=5 (Section
+ 8.1) on each connection of each third-party session to which at
+ least one affected task is allegiant. If there are multiple
+
+
+
+Chadalapaka Standards Track [Page 16]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ affected LUs, then send one Async Message PDU for each such LU
+ on each connection that has at least one allegiant affected
+ task. When sent, the LUN field in the Asynchronous Message PDU
+ MUST be set to match the LUN for each such LU.
+
+ b. After Step e of the target behavior in Section 4.1.2, free up
+ the affected TTTs (and STags, if applicable) and the
+ corresponding buffers, if any, once each associated NOP-Out
+ acknowledgement is received that the third-party initiator
+ generated in response to each Async Message sent in Step a.
+
+ If the issuing session is a FastAbort session, the iSCSI target
+ implementation is FastAbort-capable, and the third-party affected
+ session is an RFC 3720 session, the following behavior MUST be
+ exhibited by the iSCSI target layer: Asynchronous Message PDUs MUST
+ NOT be sent on the third-party session to prompt the FastAbort
+ behavior.
+
+ If the third-party affected session is a FastAbort session and the
+ issuing session is a FastAbort session, the initiator in the third-
+ party role MUST respond to each Async Message PDU with AsyncEvent=5
+ as defined in Section 8.1. Note that an initiator MAY thus receive
+ these Async Messages on a third-party affected session even if the
+ session is a single-connection session.
+
+4.1.5. Implementation Considerations
+
+ Both in clarified semantics (Section 4.1.2) and updated semantics
+ (Section 4.1.3), there may be outstanding data transfers even after
+ the TMF completion is reported on the issuing session. In the case
+ of iSCSI/iSER [iSER], these would be tagged data transfers for STags
+ not owned by any active tasks. Whether or not real buffers support
+ these data transfers is implementation-dependent. However, the data
+ transfers logically MUST be silently discarded by the target iSCSI
+ layer in all cases. A target MAY, on an implementation-defined
+ internal timeout, also choose to drop the connections on which it did
+ not receive the expected Data-Out sequences (Section 4.1.2) or NOP-
+ Out acknowledgements (Section 4.1.3) so as to reclaim the associated
+ buffer, STag, and TTT resources as appropriate.
+
+4.1.6. Rationale behind the New Semantics
+
+ There are fundamentally three basic objectives behind the semantics
+ specified in Sections 4.1.2 and 4.1.3.
+
+ 1. Maintaining an ordered command flow I_T nexus abstraction to
+ the target SCSI layer even with multi-connection sessions.
+
+
+
+
+Chadalapaka Standards Track [Page 17]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ o Target iSCSI processing of a TMF request must maintain the
+ single flow illusion. Target behavior in Step b of Section
+ 4.1.2 and Step a of Section 4.1.3 correspond to this
+ objective.
+
+ 2. Maintaining a single ordered response flow I_T nexus
+ abstraction to the initiator SCSI layer even with multi-
+ connection sessions when one response (i.e., TMF response)
+ could imply the status of other unfinished tasks from the
+ initiator's perspective.
+
+ o The target must ensure that the initiator does not see "old"
+ task responses (that were placed on the wire chronologically
+ earlier than the TMF Response) after seeing the TMF
+ response. The target behavior in Step d of Section 4.1.2
+ and Step e of Section 4.1.3 correspond to this objective.
+
+ o Whenever the result of a TMF action is visible across
+ multiple I_T_L nexuses, [SAM2] requires the SCSI device
+ server to trigger a UA on each of the other I_T_L nexuses.
+ Once an initiator is notified of such an UA, the application
+ client on the receiving initiator is required to clear its
+ task state (clause 5.5 in [SAM2]) for the affected tasks.
+ It would thus be inappropriate to deliver a SCSI Response
+ for a task after the task state is cleared on the initiator,
+ i.e., after the UA is notified. The UA notification
+ contained in the first SCSI Response PDU on each affected
+ Third-party I_T_L nexus after the TMF action thus MUST NOT
+ pass the affected task responses on any of the iSCSI
+ sessions accessing the LU. The target behavior in Step e of
+ Section 4.1.2 and Step f of Section 4.1.3 correspond to this
+ objective.
+
+ 3. Draining all active TTTs corresponding to affected tasks in a
+ deterministic fashion.
+
+ o Data-Out PDUs with stale TTTs arriving after the tasks are
+ terminated can create a buffer management problem even for
+ traditional iSCSI implementations, and is fatal for the
+ connection for iSCSI/iSER implementations. Either the
+ termination of affected tasks should be postponed until the
+ TTTs are retired (as in Step a of Section 4.1.2), or the
+ TTTs and the buffers should stay allocated beyond task
+ termination to be deterministically freed up later (as in
+ Steps c and g of Section 4.1.3).
+
+ The only other notable optimization is the plugging. If all tasks on
+ an I_T nexus will be aborted anyway (as with a target reset), there
+
+
+
+Chadalapaka Standards Track [Page 18]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ is no need to wait to receive all commands to plug the CmdSN holes.
+ The target iSCSI layer can simply plug all missing CmdSN slots and
+ move on with TMF processing. The first objective (maintaining a
+ single ordered command flow) is still met with this optimization
+ because the target SCSI layer only sees ordered commands.
+
+5. Discovery Semantics
+
+5.1. Error Recovery for Discovery Sessions
+
+ The negotiation of the key ErrorRecoveryLevel is not required for
+ Discovery sessions -- i.e., for sessions that negotiated
+ "SessionType=Discovery" -- because the default value of 0 is
+ necessary and sufficient for Discovery sessions. It is however
+ possible that some legacy iSCSI implementations might attempt to
+ negotiate the ErrorRecoveryLevel key on Discovery sessions. When
+ such a negotiation attempt is made by the remote side, a compliant
+ iSCSI implementation MUST propose a value of 0 (zero) in response.
+ The operational ErrorRecoveryLevel for Discovery sessions thus MUST
+ be 0. This naturally follows from the functionality constraints that
+ [RFC3720] imposes on Discovery sessions.
+
+5.2. Reinstatement Semantics of Discovery Sessions
+
+ Discovery sessions are intended to be relatively short-lived.
+ Initiators are not expected to establish multiple Discovery sessions
+ to the same iSCSI Network Portal (see [RFC3720]). An initiator may
+ use the same iSCSI Initiator Name and ISID when establishing
+ different unique sessions with different targets and/or different
+ portal groups. This behavior is discussed in Section 9.1.1 of
+ [RFC3720] and is, in fact, encouraged as conservative reuse of ISIDs.
+ The ISID RULE in [RFC3720] states that there must not be more than
+ one session with a matching 4-tuple: <InitiatorName, ISID,
+ TargetName, TargetPortalGroupTag>. While the spirit of the ISID RULE
+ applies to Discovery sessions the same as it does for Normal
+ sessions, note that some Discovery sessions differ from the Normal
+ sessions in two important aspects:
+
+ Because [RFC3720] allows a Discovery session to be established
+ without specifying a TargetName key in the Login Request PDU (let
+ us call such a session an "Unnamed" Discovery session), there is
+ no Target Node context to enforce the ISID RULE.
+
+ Portal Groups are defined only in the context of a Target Node.
+ When the TargetName key is NULL-valued (i.e., not specified), the
+ TargetPortalGroupTag thus cannot be ascertained to enforce the
+ ISID RULE.
+
+
+
+
+Chadalapaka Standards Track [Page 19]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ The following sections describe the two scenarios -- Named Discovery
+ sessions and Unnamed Discovery sessions -- separately.
+
+5.2.1. Unnamed Discovery Sessions
+
+ For Unnamed Discovery sessions, neither the TargetName nor the
+ TargetPortalGroupTag is available to the targets in order to enforce
+ the ISID RULE. So the following rule applies.
+
+ UNNAMED ISID RULE: Targets MUST enforce the uniqueness of the
+ following 4-tuple for Unnamed Discovery sessions: <InitiatorName,
+ ISID, NULL, TargetAddress>. The following semantics are implied by
+ this uniqueness requirement.
+
+ Targets SHOULD allow concurrent establishment of one Discovery
+ session with each of its Network Portals by the same initiator port
+ with a given iSCSI Node Name and an ISID. Each of the concurrent
+ Discovery sessions, if established by the same initiator port to
+ other Network Portals, MUST be treated as independent sessions --
+ i.e., one session MUST NOT reinstate the other.
+
+ A new Unnamed Discovery session that has a matching <InitiatorName,
+ ISID, NULL, TargetAddress> to an existing Discovery session MUST
+ reinstate the existing Unnamed Discovery session. Note thus that
+ only an Unnamed Discovery session may reinstate an Unnamed Discovery
+ session.
+
+5.2.2. Named Discovery Sessions
+
+ For a Named Discovery session, the TargetName key is specified by the
+ initiator and thus the target can unambiguously ascertain the
+ TargetPortalGroupTag as well. Since all the four elements of the 4-
+ tuple are known, the ISID RULE MUST be enforced by targets with no
+ changes from [RFC3720] semantics. A new session with a matching
+ <InitiatorName, ISID, TargetName, TargetPortalGroupTag> thus will
+ reinstate an existing session. Note in this case that any new iSCSI
+ session (Discovery or Normal) with the matching 4-tuple may reinstate
+ an existing Named Discovery iSCSI session.
+
+5.3. Target PDUs during Discovery
+
+ Targets SHOULD NOT send any responses other than a Text Response and
+ Logout Response on a Discovery session, once in Full Feature Phase.
+
+ Implementation Note: A target may simply drop the connection in a
+ Discovery session when it would have requested a Logout via an Async
+ Message on Normal sessions.
+
+
+
+
+Chadalapaka Standards Track [Page 20]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+6. Negotiation and Others
+
+6.1. TPGT Values
+
+ [SAM2] and [SAM3] specifications incorrectly note in their
+ informative text that TPGT value should be non-zero, although
+ [RFC3720] allows the value of zero for TPGT. This section is to
+ clarify that a zero value is expressly allowed as a legal value for
+ TPGT. This discrepancy currently stands corrected in [SAM4].
+
+6.2. SessionType Negotiation
+
+ During the Login Phase, the SessionType key is offered by the
+ initiator to choose the type of session it wants to create with the
+ target. The target may accept or reject the offer. Depending on the
+ type of the session, a target may decide on resources to allocate and
+ the security to enforce, etc. for the session. If the SessionType
+ key is thus going to be offered as "Discovery", it SHOULD be offered
+ in the initial Login request by the initiator.
+
+6.3. Understanding NotUnderstood
+
+ [RFC3720] defines NotUnderstood as a valid answer during a
+ negotiation text key exchange between two iSCSI nodes. NotUnderstood
+ has the reserved meaning that the sending side did not understand the
+ proposed key semantics. This section seeks to clarify that
+ NotUnderstood is a valid answer for both declarative and negotiated
+ keys. The general iSCSI philosophy is that comprehension precedes
+ processing for any iSCSI key. A proposer of an iSCSI key, negotiated
+ or declarative, in a text key exchange MUST thus be able to properly
+ handle a NotUnderstood response.
+
+ The proper way to handle a NotUnderstood response depends on where
+ the key is specified and whether the key is declarative vs.
+ negotiated. All keys defined in [RFC3720] MUST be supported by all
+ compliant implementations; a NotUnderstood answer on any of the
+ [RFC3720] keys therefore MUST be considered a protocol error and
+ handled accordingly. For all other later keys, a NotUnderstood
+ answer concludes the negotiation for a negotiated key whereas for a
+ declarative key, a NotUnderstood answer simply informs the declarer
+ of a lack of comprehension by the receiver.
+
+ In either case, a NotUnderstood answer always requires that the
+ protocol behavior associated with that key not be used within the
+ scope of the key (connection/session) by either side.
+
+
+
+
+
+
+Chadalapaka Standards Track [Page 21]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+6.4. Outstanding Negotiation Exchanges
+
+ There was some uncertainty around the number of outstanding Login
+ Response PDUs on a connection. [RFC3720] offers the analogy of SCSI
+ linked commands to Login and Text negotiations in Sections 5.3 and
+ 10.10.3, respectively, but does not make it fully explicit. This
+ section is to offer a clarification in this regard.
+
+ There MUST NOT be more than one outstanding Login Request, Login
+ Response, Text Request, or Text Response PDU on an iSCSI connection.
+ An outstanding PDU in this context is one that has not been
+ acknowledged by the remote iSCSI side.
+
+7. iSCSI Error Handling and Recovery
+
+7.1. ITT
+
+ An ITT value of 0xffffffff is reserved and MUST NOT be assigned for a
+ task by the initiator. The only instance in which it may be seen on
+ the wire is in a target-initiated NOP-In PDU (and in the initiator
+ response to that PDU, if necessary). Section 10.19 in [RFC3720]
+ mentions this in passing but is noted here again to make it obvious
+ since the semantics apply to the initiators in general.
+
+7.2. Format Errors
+
+ Section 6.6 of [RFC3720] discusses format error handling. This
+ section elaborates on the "inconsistent" PDU field contents noted in
+ [RFC3720].
+
+ All initiator-detected PDU construction errors MUST be considered as
+ format errors. Some examples of such errors are:
+
+ - NOP-In with a valid TTT but an invalid LUN
+
+ - NOP-In with a valid ITT (i.e., a NOP-In response) and also a
+ valid TTT
+
+ - SCSI Response PDU with Status=CHECK CONDITION, but
+ DataSegmentLength = 0
+
+7.3. Digest Errors
+
+ Section 6.7 of [RFC3720] discusses digest error handling. It states
+ that "No further action is necessary for initiators if the discarded
+ PDU is an unsolicited PDU (e.g., Async, Reject)" on detecting a
+ payload digest error. This is incorrect.
+
+
+
+
+Chadalapaka Standards Track [Page 22]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ An Asynchronous Message PDU or a Reject PDU carries the next StatSN
+ value on an iSCSI connection, advancing the StatSN. When an
+ initiator discards one of these PDUs due to a payload digest error,
+ the entire PDU including the header MUST be discarded. Consequently,
+ the initiator MUST treat the exception like a loss of any other
+ solicited response PDU -- i.e., it MUST use one of the following
+ options noted in [RFC3720]:
+
+ a) Request PDU retransmission with a status SNACK.
+
+ b) Logout the connection for recovery and continue the tasks on a
+ different connection instance.
+
+ c) Logout to close the connection (abort all the commands
+ associated with the connection).
+
+7.4. Message Error Checking
+
+ There has been some uncertainty on the extent to which incoming
+ messages have to be checked for protocol errors, beyond what is
+ strictly required for processing the inbound message. This section
+ addresses this question.
+
+ Unless [RFC3720] or this document requires it, an iSCSI
+ implementation is not required to do an exhaustive protocol
+ conformance check on an incoming iSCSI PDU. The iSCSI implementation
+ especially is not required to double-check the remote iSCSI
+ implementation's conformance to protocol requirements.
+
+8. iSCSI PDUs
+
+8.1. Asynchronous Message
+
+ This section defines additional semantics for the Asynchronous
+ Message PDU defined in Section 10.9 of [RFC3720] using the same
+ conventions.
+
+ The following new legal value for the AsyncEvent is defined:
+
+ 5: all active tasks for LU with a matching LUN field in the Async
+ Message PDU are being terminated.
+
+ The receiving initiator iSCSI layer MUST respond to this Message by
+ taking the following steps in order.
+
+ i) Stop Data-Out transfers on that connection for all active TTTs
+ for the affected LUN quoted in the Async Message PDU.
+
+
+
+
+Chadalapaka Standards Track [Page 23]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ ii) Acknowledge the StatSN of the Async Message PDU via a NOP-Out
+ PDU with ITT=0xffffffff (i.e., non-ping flavor), while copying
+ the LUN field from the Async Message to NOP-Out.
+
+ The new AsyncEvent defined in this section however MUST NOT be used
+ on an iSCSI session unless the new TaskReporting text key defined in
+ Section 9.1 was negotiated to FastAbort on the session.
+
+8.2. Reject
+
+ Section 10.17.1 of [RFC3720] specifies the Reject reason code of 0x0b
+ with an explanation of "Negotiation Reset". At this point, we do not
+ see any legitimate iSCSI protocol use case for using this reason
+ code. Thus, reason code 0x0b MUST be considered as deprecated and
+ MUST NOT be sent by implementations that comply with the requirements
+ of this document. An implementation receiving reason code 0x0b MUST
+ treat it as a negotiation failure that terminates the Login Phase and
+ the TCP connection, as specified in Section 6.10 of [RFC3720].
+
+ Section 5.4 of [RFC3720] states:
+
+ Neither the initiator nor the target should attempt to declare or
+ negotiate a parameter more than once during any negotiation
+ sequence without an intervening operational parameter negotiation
+ reset, except for responses to specific keys that explicitly allow
+ repeated key declarations (e.g., TargetAddress).
+
+ The deprecation of reason code 0x0b eliminates the possibility of an
+ operational parameter negotiation reset, causing the phrase "without
+ an intervening operational parameter negotiation reset" in [RFC3720]
+ to refer to an impossible event. The quoted phrase SHOULD be ignored
+ by receivers that handle reason code 0x0b in the manner specified in
+ this section.
+
+9. Login/Text Operational Text Keys
+
+ This section follows the same conventions as Section 12 of [RFC3720].
+
+9.1. TaskReporting
+
+ Use: LO
+ Senders: Initiator and Target
+ Scope: SW
+
+ Irrelevant when: SessionType=Discovery
+ TaskReporting=<list-of-values>
+
+
+
+
+
+Chadalapaka Standards Track [Page 24]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ Default is RFC3720.
+ Result function is AND.
+
+ This key is used to negotiate the task completion reporting semantics
+ from the SCSI target. The following table describes the semantics
+ that an iSCSI target MUST support for respective negotiated key
+ values. Whenever this key is negotiated, at least the RFC3720 and
+ ResponseFence values MUST be offered as options by the negotiation
+ originator.
+
+ +--------------+------------------------------------------+
+ | Name | Description |
+ +--------------+------------------------------------------+
+ | RFC3720 | RFC 3720-compliant semantics. Response |
+ | | fencing is not guaranteed and fast |
+ | | completion of multi-task aborting is not |
+ | | supported |
+ +--------------+------------------------------------------+
+ | ResponseFence| Response Fence (Section 3.3.1) semantics |
+ | | MUST be supported in reporting task |
+ | | completions |
+ +--------------+------------------------------------------+
+ | FastAbort | Updated fast multi-task abort semantics |
+ | | defined in Section 4.1.3 MUST be |
+ | | supported. Support for Response Fence is|
+ | | implied -- i.e., Section 3.3.1 semantics |
+ | | MUST be supported as well |
+ +--------------+------------------------------------------+
+
+ When TaskReporting is not negotiated to FastAbort, the [RFC3720] TMF
+ semantics as clarified in Section 4.1.2 MUST be used.
+
+10. Security Considerations
+
+ This document does not introduce any new security considerations
+ other than those already noted in [RFC3720]. Consequently, all the
+ iSCSI-related security text in [RFC3723] is also directly applicable
+ to this document.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Chadalapaka Standards Track [Page 25]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+11. IANA Considerations
+
+11.1. iSCSI-Related IANA Registries
+
+ This document creates the following iSCSI-related registries for IANA
+ to manage.
+
+ 1. iSCSI Opcodes
+
+ 2. iSCSI Login/Text Keys
+
+ 3. iSCSI Asynchronous Events
+
+ 4. iSCSI Task Management Function Codes
+
+ 5. iSCSI Login Response Status Codes
+
+ 6. iSCSI Reject Reason Codes
+
+ 7. iSER Opcodes
+
+ Each of the following sections describes a registry, its sub-
+ registries if any, and their administration policies in more detail.
+ IANA has registered what this document calls the main "registries" as
+ sub-registries of a larger iSCSI registry. However, wherever
+ registry-to-sub-registry relationships are specified by this
+ document, they have been preserved intact.
+
+ [RFC3720] specifies three iSCSI-related registries -- extended key,
+ authentication methods, and digests. This document recommends that
+ these registries be published together with the registries defined by
+ this document. Further, this document recommends that the three
+ [RFC3720] registries be listed in between items 6 and 7 in the
+ registry list above.
+
+11.2. iSCSI Opcodes
+
+ Name of the registry: "iSCSI Opcodes"
+
+ Namespace details: Numerical values that can fit in one octet with
+ the most significant two bits (bits 0 and 1) already designated by
+ [RFC3720], bit 0 being reserved and bit 1 for immediate delivery.
+ Bit 2 is designated to identify the originator of the opcode. Bit 2
+ = 0 for initiator and Bit 2 = 1 for target.
+
+
+
+
+
+
+
+Chadalapaka Standards Track [Page 26]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ 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.
+
+ Allocation request guidance to requesters:
+
+ 1) If the initiator opcode and target opcode used to identify the
+ request and response of a new type of protocol operation are
+ requested, assign the same lower five bits (i.e., Bit 3 through
+ Bit 7) for both opcodes, e.g., 0x13 and 0x33.
+
+ 2) If only the initiator opcode or target opcode is requested to
+ identify a one-way protocol message (i.e., request without a
+ response or a "response" without a request), assign an unused
+ number from the appropriate category (i.e., Bit 2 set to 0 or 1
+ for initiator category or target category) and add the other
+ pair member (i.e., same opcode with Bit 2 set to 1 or 0,
+ respectively) to "no opcode pair is available" list.
+
+ 3) If there are no other opcodes available in the appropriate
+ "Reserved to IANA" list to assign on a request for a new opcode
+ except the reserved opcodes in the "no opcode pair is
+ available" list, allocate the opcode from the appropriate
+ category (initiator or target) of the "no opcode pair is
+ available" list.
+
+ Fields to record in the registry: Assigned value, Who can originate
+ (Initiator or Target), Operation Name, and its associated RFC
+ reference.
+
+ Initial registry contents:
+
+ 0x00, Initiator, NOP-Out, [RFC3720]
+
+ 0x01, Initiator, SCSI Command, [RFC3720]
+
+ 0x02, Initiator, SCSI Task Management function request, [RFC3720]
+
+ 0x03, Initiator, Login Request, [RFC3720]
+
+ 0x04, Initiator, Text Request, [RFC3720]
+
+ 0x05, Initiator, SCSI Data-Out, [RFC3720]
+
+ 0x06, Initiator, Logout Request, [RFC3720]
+
+ 0x10, Initiator, SNACK Request, [RFC3720]
+
+
+
+Chadalapaka Standards Track [Page 27]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ 0x1c-0x1e, Initiator, Vendor specific codes, [RFC3720]
+
+ 0x20, Target, NOP-In, [RFC3720]
+
+ 0x21, Target, SCSI Response, [RFC3720]
+
+ 0x22, Target, SCSI Task Management function response, [RFC3720]
+
+ 0x23, Target, Login Response, [RFC3720]
+
+ 0x24, Target, Text Response, [RFC3720]
+
+ 0x25, Target, SCSI Data-In, [RFC3720]
+
+ 0x26, Target, Logout Response, [RFC3720]
+
+ 0x31, Target, Ready To Transfer (R2T), [RFC3720]
+
+ 0x32, Target, Asynchronous Message, [RFC3720]
+
+ 0x3c-0x3e, Target, Vendor specific codes, [RFC3720]
+
+ 0x3f, Target, Reject, [RFC3720]
+
+ Reserved to IANA:
+ 0x07-0x0f, 0x13-0x1b (initiator codes)
+ 0x27-0x2f, 0x33-0x3b (target codes)
+
+ No opcode pair is available:
+ 0x11, 0x12, 0x1f (initiator codes)
+ 0x30 (target codes)
+
+ Allocation Policy:
+
+ Standards Action ([IANA]): This is required for defining the
+ semantics of the opcode.
+
+ Expert Review ([IANA]): This is required for selecting the specific
+ opcode(s) to allocate in order to ensure compliance with the earlier
+ "Allocation request guidance to requesters".
+
+11.3. iSCSI Login/Text Keys
+
+ Name of the registry: "iSCSI Text Keys"
+
+ Namespace details: Key=value pairs with "Key" names in UTF-8 Unicode,
+ and the permissible "value" options for the "Key" are Key-dependent.
+ [RFC3720] defines the rules on key names and allowed values.
+
+
+
+Chadalapaka Standards Track [Page 28]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ 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 Key per [RFC3720]
+ key specification template and the fields to be recorded in the
+ registry.
+
+ Assignment policy:
+
+ If the requested Key name is not already assigned and is roughly
+ representative of its proposed semantics, it may be assigned to the
+ requester.
+
+ Given the arbitrary nature of text strings, there is no maximum
+ reserved by IANA for assignment in this registry.
+
+ Fields to record in the registry: Assigned Key Name and its
+ associated RFC reference.
+
+ Initial registry contents:
+
+ AuthMethod, [RFC3720]
+
+ HeaderDigest, [RFC3720]
+
+ DataDigest, [RFC3720]
+
+ MaxConnections, [RFC3720]
+
+ SendTargets, [RFC3720]
+
+ TargetName, [RFC3720]
+
+ InitiatorName, [RFC3720]
+
+ TargetAlias, [RFC3720]
+
+ InitiatorAlias, [RFC3720]
+
+ TargetAddress, [RFC3720]
+
+ TargetPortalGroupTag, [RFC3720]
+
+ InitialR2T, [RFC3720]
+
+ ImmediateData, [RFC3720]
+
+ MaxRecvDataSegmentLength, [RFC3720]
+
+
+
+
+Chadalapaka Standards Track [Page 29]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ MaxBurstLength, [RFC3720]
+
+ FirstBurstLength, [RFC3720]
+
+ DefaultTime2Wait, [RFC3720]
+
+ DefaultTime2Retain, [RFC3720]
+
+ MaxOutstandingR2T, [RFC3720]
+
+ DataPDUInOrder, [RFC3720]
+
+ DataSequenceInOrder, [RFC3720]
+
+ ErrorRecoveryLevel, [RFC3720]
+
+ SessionType, [RFC3720]
+
+ RDMAExtensions, [iSER]
+
+ TargetRecvDataSegmentLength, [iSER]
+
+ InitiatorRecvDataSegmentLength, [iSER]
+
+ MaxOutstandingUnexpectedPDUs, [iSER]
+
+ TaskReporting, this document
+
+ Allocation Policy:
+
+ Standards Action ([IANA])
+
+11.4. iSCSI Asynchronous Events
+
+ Name of the registry: "iSCSI Asynchronous Events"
+
+ Namespace details: Numerical values that can fit in one octet.
+
+ 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 Event 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.
+
+
+
+
+Chadalapaka Standards Track [Page 30]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ 6-247: range reserved by IANA for assignment in this registry.
+
+ Fields to record in the registry: Assigned Event number, Description
+ and its associated RFC reference.
+
+ Initial registry contents:
+
+ 0, SCSI Async Event, [RFC3720]
+
+ 1, Logout Request, [RFC3720]
+
+ 2, Connection drop notification, [RFC3720]
+
+ 3, Session drop notification, [RFC3720]
+
+ 4, Negotiation Request, [RFC3720]
+
+ 5, Task termination, this document
+
+ 248-254, Vendor-unique, this document
+
+ 255, Vendor-unique, [RFC3720]
+
+ Allocation Policy:
+
+ Standards Action ([IANA])
+
+11.5. iSCSI Task Management Function Codes
+
+ Name of the registry: "iSCSI TMF Codes"
+
+ Namespace details: Numerical values that can fit in 7 bits.
+
+ 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 Code 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.
+
+ 9-127: range reserved by IANA for assignment in this registry.
+
+ Fields to record in the registry: Assigned Code, Description, and its
+ associated RFC reference.
+
+
+
+
+Chadalapaka Standards Track [Page 31]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ Initial registry contents:
+
+ 1, ABORT TASK, [RFC3720]
+
+ 2, ABORT TASK SET, [RFC3720]
+
+ 3, CLEAR ACA, [RFC3720]
+
+ 4, CLEAR TASK SET, [RFC3720]
+
+ 5, LOGICAL UNIT RESET, [RFC3720]
+
+ 6, TARGET WARM RESET, [RFC3720]
+
+ 7, TARGET COLD RESET, [RFC3720]
+
+ 8, TASK REASSIGN, [RFC3720]
+
+ Allocation Policy:
+
+ Standards Action ([IANA])
+
+11.6. iSCSI Login Response Status Codes
+
+ Name of the registry: "iSCSI Login Response Status Codes"
+
+ Namespace details: Numerical values; Status-Class (one octet),
+ Status-Detail (one octet) for each possible value of Status-Class
+ except for Vendor-Unique Status-Class (0x0f).
+
+ Information that must be provided to assign a new value: An IESG-
+ approved specification defining the semantics and interoperability
+ requirements of the proposed new Code, its Status-Class affiliation
+ (only if a new Status-Detail value is being proposed for a Status-
+ Class), Status-Class definition (only if a new Status-Class is being
+ proposed), 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.
+
+ 4-14 and 16-255: range reserved by IANA for assignment in this
+ registry.
+
+ Fields to record in the Status-Class main registry: Assigned Code,
+ Description, and its associated RFC reference.
+
+
+
+
+Chadalapaka Standards Track [Page 32]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ Fields to record in the Status-Detail sub-registries: Status-Class,
+ Assigned Code, Description, and its associated RFC reference.
+
+ Initial registry contents (Status-Class):
+
+ 0x00, Success, [RFC3720]
+
+ 0x01, Redirection, [RFC3720]
+
+ 0x02, Initiator Error, [RFC3720]
+
+ 0x03, Target Error, [RFC3720]
+
+ 0x0f, Vendor-Unique, this document
+
+ Initial sub-registry contents (Status-Detail for Status-Class=0x00):
+
+ 0x00, 0x00, Success, [RFC3720]
+
+ 1-255: range reserved by IANA for assignment in Status-Class=0 sub-
+ registry.
+
+ Initial sub-registry contents (Status-Detail for Status-Class=0x01):
+
+ 0x01, 0x01, Temporary move, [RFC3720]
+
+ 0x01, 0x02, Permanent move, [RFC3720]
+
+ 3-255: range reserved by IANA for assignment in Status-Class=1 sub-
+ registry.
+
+ Initial sub-registry contents (Status-Detail for Status-Class=0x02):
+
+ 0x02, 0x00, Miscellaneous, [RFC3720]
+
+ 0x02, 0x01, Authentication failure, [RFC3720]
+
+ 0x02, 0x02, Authorization failure, [RFC3720]
+
+ 0x02, 0x03, Not found, [RFC3720]
+
+ 0x02, 0x04, Target removed, [RFC3720]
+
+ 0x02, 0x05, Unsupported version, [RFC3720]
+
+ 0x02, 0x06, Too many connections, [RFC3720]
+
+ 0x02, 0x07, Missing parameter, [RFC3720]
+
+
+
+Chadalapaka Standards Track [Page 33]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ 0x02, 0x08, Can't include in session, [RFC3720]
+
+ 0x02, 0x09, Unsupported session type, [RFC3720]
+
+ 0x02, 0x0a, Non-existent session, [RFC3720]
+
+ 0x02, 0x0b, Invalid during login, [RFC3720]
+
+ 12-255: range reserved by IANA for assignment in Status-Class=2 sub-
+ registry.
+
+ Initial sub-registry contents (Status-Detail for Status-Class=0x03):
+
+ 0x03, 0x00, Target error, [RFC3720]
+
+ 0x03, 0x01, Service unavailable, [RFC3720]
+
+ 0x03, 0x02, Out of resources, [RFC3720]
+
+ 3-255: range reserved by IANA for assignment in Status-Class=3 sub-
+ registry.
+
+ Allocation Policy:
+
+ Standards Action ([IANA])
+
+11.7. iSCSI Reject Reason Codes
+
+ Name of the registry: "iSCSI Reject Reason Codes"
+
+ Namespace details: Numerical values that can fit in a single octet.
+
+ Information that must be provided to assign a new value: A published
+ specification defining the semantics and interoperability
+ requirements of the proposed new Code 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.
+
+ 13-255: range reserved by IANA for assignment in this registry.
+
+ Fields to record in the registry: Assigned Code, Description, and its
+ associated RFC reference.
+
+
+
+
+
+Chadalapaka Standards Track [Page 34]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ Initial registry contents:
+
+ 0x01, Reserved, [RFC3720]
+
+ 0x02, Data digest error, [RFC3720]
+
+ 0x03, SNACK Reject, [RFC3720]
+
+ 0x04, Protocol Error, [RFC3720]
+
+ 0x05, Command not supported, [RFC3720]
+
+ 0x06, Immediate command reject, [RFC3720]
+
+ 0x07, Task in progress, [RFC3720]
+
+ 0x08, Invalid data ack, [RFC3720]
+
+ 0x09, Invalid PDU field, [RFC3720]
+
+ 0x0a, Long op reject, [RFC3720]
+
+ 0x0b, "Deprecated reason code", this document
+
+ 0x0c, Waiting for Logout, [RFC3720]
+
+ Allocation Policy:
+
+ Standards Action ([IANA])
+
+11.8. iSER Opcodes
+
+ Name of the registry: "iSER Opcodes"
+
+ Namespace details: Numerical values that can fit in 4 bits.
+
+ 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.
+
+ 4-15: range reserved by IANA for assignment in this registry.
+
+
+
+
+Chadalapaka Standards Track [Page 35]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ Fields to record in the registry: Assigned value, Operation Name, and
+ its associated RFC reference.
+
+ Initial registry contents:
+
+ 0x1, iSCSI control-type, [iSER]
+
+ 0x2, iSER Hello, [iSER]
+
+ 0x3, iSER HelloReply, [iSER]
+
+ Allocation Policy:
+
+ Standards Action ([IANA])
+
+12. References
+
+12.1. Normative References
+
+ [RFC3720] Satran, J., Meth, K., Sapuntzakis, C., Chadalapaka, M., and
+ E. Zeidner, "Internet Small Computer Systems Interface
+ (iSCSI)", RFC 3720, April 2004.
+
+ [SPC3] ANSI INCITS 408-2005, SCSI Primary Commands-3.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [IANA] Narten, T. and H. Alvestrand, "Guidelines for Writing an
+ IANA Considerations Section in RFCs", BCP 26, RFC 2434,
+ October 1998.
+
+ [iSER] Ko, M., Chadalapaka, M., Hufferd, J., Elzur, U., Shah, H.,
+ and P. Thaler, "Internet Small Computer System Interface
+ (iSCSI) Extensions for Remote Direct Memory Access (RDMA)",
+ RFC 5046, October 2007.
+
+12.2. Informative References
+
+ [RFC3721] Bakke, M., Hafner, J., Hufferd, J., Voruganti, K., and M.
+ Krueger, "Internet Small Computer Systems Interface (iSCSI)
+ Naming and Discovery", RFC 3721, April 2004.
+
+ [RFC3723] Aboba, B., Tseng, J., Walker, J., Rangan, V., and F.
+ Travostino, "Securing Block Storage Protocols over IP", RFC
+ 3723, April 2004.
+
+
+
+
+
+Chadalapaka Standards Track [Page 36]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+ [RFC3722] Bakke, M., "String Profile for Internet Small Computer
+ Systems Interface (iSCSI) Names", RFC 3722, April 2004.
+
+ [SAM2] ANSI INCITS 366-2003, SCSI Architecture Model-2 (SAM-2).
+
+ [SAM3] ANSI INCITS 402-2005, SCSI Architecture Model-3 (SAM-a3).
+
+ [SAM4] T10 Project: 1683-D, SCSI Architecture Model-4 (SAM-4),
+ Work in Progress.
+
+Acknowledgements
+
+ The IP Storage (IPS) Working Group in the Transport Area of the IETF
+ has been responsible for defining the iSCSI protocol (apart from a
+ host of other relevant IP Storage protocols). The editor
+ acknowledges the contributions of the entire working group.
+
+ The following individuals directly contributed to identifying
+ [RFC3720] issues and/or suggesting resolutions to the issues
+ clarified in this document: David Black, Gwendal Grignou, Mike Ko,
+ Dmitry Fomichev, Bill Studenmund, Ken Sandars, Bob Russell, Julian
+ Satran, Rob Elliott, Joseph Pittman, Somesh Gupta, Eddy Quicksall,
+ Paul Koning. This document benefited from all of these
+ contributions.
+
+Editor's Address
+
+ Mallikarjun Chadalapaka
+ Hewlett-Packard Company
+ 8000 Foothills Blvd.
+ Roseville, CA 95747-5668, USA
+ Phone: +1-916-785-5621
+ EMail: cbm@rose.hp.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Chadalapaka Standards Track [Page 37]
+
+RFC 5048 iSCSI Corrections and Clarifications October 2007
+
+
+Full Copyright Statement
+
+ Copyright (C) The IETF Trust (2007).
+
+ This document is subject to the rights, licenses and restrictions
+ contained in BCP 78, and except as set forth therein, the authors
+ retain all their rights.
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
+ THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
+ THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Intellectual Property
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at
+ ietf-ipr@ietf.org.
+
+
+
+
+
+
+
+
+
+
+
+
+Chadalapaka Standards Track [Page 38]
+