draft-ietf-storm-iscsi-sam-00.txt   draft-ietf-storm-iscsi-sam-01.txt 
Storage Maintenance (StorM) Working Group F. Knight Storage Maintenance (StorM) Working Group F. Knight
Internet Draft NetApp Internet Draft NetApp
Intended status: Standards Track M. Chadalapaka Intended status: Standards Track M. Chadalapaka
Expires: June 2010 Hewlett-Packard Co. Expires: October 2010 Hewlett-Packard Co.
Updates: 3720, 5048 December 2009 Updates: 3720, 5048 April 2010
Internet Small Computer Systems Interface (iSCSI) Update Internet Small Computer Systems Interface (iSCSI) Update
draft-ietf-storm-iscsi-sam-00.txt draft-ietf-storm-iscsi-sam-01.txt
Abstract
Internet Small Computer Systems Interface (iSCSI) is a SCSI
transport protocol that maps the SCSI family of protocols onto
TCP/IP. RFC 3720 defines the iSCSI protocol. The current iSCSI
protocol (RFC 3720 and RFC 5048) is based on the SAM-2 version of
the SCSI family of protocols). This document defines additions
and changes to the iSCSI protocol to enabled additional features
that were added to the SCSI family of protocols through SAM-3,
SAM-4, and SAM-5.
This document updates RFC 3720 and RFC 5048 and the text in this
document supersedes the text in RFC 3720 and RFC 5048 when the
two differ.
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with This Internet-Draft is submitted to IETF in full conformance with
the provisions of BCP 78 and BCP 79. This document may contain the provisions of BCP 78 and BCP 79.
material from IETF Documents or IETF Contributions published or
made publicly available before November 10, 2008. The person(s)
controlling the copyright in some of this material may not have
granted the IETF Trust the right to allow modifications of such
material outside the IETF Standards Process. Without obtaining
an adequate license from the person(s) controlling the copyright
in such materials, this document may not be modified outside the
IETF Standards Process, and derivative works of it may not be
created outside the IETF Standards Process, except to format it
for publication as an RFC or to translate it into languages other
than English.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet- documents at any time. It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as "work Drafts as reference material or to cite them other than as "work
in progress." in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html. http://www.ietf.org/1id-abstracts.html.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on June 10, 2010. This Internet-Draft will expire October, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
Copyright (c) 2009 IETF Trust and the persons identified as the This document is subject to BCP 78 and the IETF Trust's Legal
document authors. All rights reserved. Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
This document is subject to BCP 78 and the IETF Trust's Legal publication of this document. Please review these documents
Provisions Relating to IETF Documents in effect on the date of carefully, as they describe your rights and restrictions with
publication of this document (http://trustee.ietf.org/license- respect to this document. Code Components extracted from this
info). Please review these documents carefully, as they describe document must include Simplified BSD License text as described in
your rights and restrictions with respect to this document. Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Abstract
Internet Small Computer Systems Interface (iSCSI) is a SCSI
transport protocol that maps the SCSI family of protocols onto
TCP/IP. RFC 3720 defines the iSCSI protocol. The current iSCSI
protocol (RFC 3720 and RFC 5048) is based on the SAM-2 version of
the SCSI family of protocols). This document defines additions
and changes to the iSCSI protocol to enabled additional features
that were added to the SCSI family of protocols through SAM-3,
SAM-4, and SAM-5.
This document updates RFC 3720 and RFC 5048 and the text in this
document supersedes the text in RFC 3720 and RFC 5048 when the
two differ.
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 ............................................ 5
3 UML Conventions................................................. 5
3.2 Multiplicity notation .................................... 5
3.3 Class diagram conventions ................................ 6
3.4 Class diagram notation for associations .................. 6
3.5 Class diagram notation for aggregations .................. 7
3.6 Class diagram notation for generalizations ............... 8
4 iSCSI UML Model................................................. 9
5 Terminology Mapping............................................ 11
6 Negotiation of New Feature Use................................. 13
7 SCSI Commands.................................................. 13
7.1 SCSI Command Additions .................................. 13
7.1.1 Command Priority (byte 2) ........................... 13
7.2 SCSI Response Additions ................................. 15
7.2.1 Status Qualifier .................................... 15
7.2.2 Data Segment - Sense and Response Data Segment ...... 16
8 Task Management Functions...................................... 16
8.1 Existing Task Management Functions ...................... 16
8.2 Task Management Function Additions ...................... 16
8.2.1 LUN field ........................................... 18
8.2.2 Referenced Task Tag ................................. 18
8.2.3 RefCmdSN ............................................ 18
8.3 Task Management Function Responses ...................... 19
8.3.1 Task Management Function Response Additions ......... 20
8.4 Task Management Requests Affecting Multiple Tasks ....... 20
9 Login/Text Operational Text Keys............................... 21
9.1 New Operational Text Keys ............................... 21
9.1.1 PDUFormatForSAMUpdate ............................... 21
10 IANA Considerations ......................................... 22
11 Security Considerations ..................................... 22
12 References .................................................. 23
13 Acknowledgements ............................................ 24
1 Introduction
The original [RFC3720] was built based on the SAM-2 model for
SCSI. Several new features and capabilities have been added to
the SCSI Architecture Model in the intervening years (SAM5 is now
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 [RFC3720] and
[RFC5048].
The text in this document, however, updates and supersedes the Table of Contents
text in [RFC3720] and [RFC5048] whenever there is any conflict.
2 Definitions, Acronyms, and Document Summary 1 Introduction.................................................... 3
2 Definitions, Acronyms, and Document Summary..................... 3
2.1 Definitions ...............................................3
2.2 Acronyms ..................................................3
2.3 New Semantics .............................................3
3 Terminology Mapping............................................. 4
4 Negotiation of New Feature Use.................................. 7
5 SCSI Commands................................................... 8
5.1 SCSI Command Additions ....................................8
5.1.1 Command Priority (byte 2) ............................ 8
5.2 SCSI Response Additions ...................................9
5.2.1 Status Qualifier .................................... 10
5.2.2 Data Segment - Sense and Response Data Segment ...... 10
6 Task Management Functions...................................... 10
6.1 Existing Task Management Functions .......................10
6.2 Task Management Function Additions .......................10
6.2.1 LUN field ........................................... 12
6.2.2 Referenced Task Tag ................................. 12
6.2.3 RefCmdSN ............................................ 12
6.3 Task Management Function Responses .......................13
6.3.1 Task Management Function Response Additions ......... 14
6.4 Task Management Requests Affecting Multiple Tasks ........14
7 Login/Text Operational Text Keys............................... 15
7.1 New Operational Text Keys ................................15
7.1.1 iSCSIProtocolLevel .................................. 15
8 Security Considerations........................................ 16
9 IANA Considerations............................................ 16
10 References .................................................. 17
11 Acknowledgements ............................................ 18
1. Introduction
2.1 Definitions The original [RFC3720] was built based on the SAM-2 model for
SCSI. Several new features and capabilities have been added to
the SCSI Architecture Model in the intervening years (SAM5 is now
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 [RFC3720] and
[RFC5048].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL The text in this document, however, updates and supersedes the
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and text in [RFC3720] and [RFC5048] whenever there is any conflict.
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119].
- iSCSI Node: The iSCSI Node represents a single iSCSI initiator 2. Definitions, Acronyms, and Document Summary
or a single iSCSI target or both. There are one or more iSCSI
Nodes within a Network Entity. The iSCSI Node is accessible
via one or more Network Portals. An iSCSI Node is identified
by its iSCSI Name. The separation of the iSCSI Name from the
addresses used by and for the iSCSI Node allows multiple iSCSI
Nodes to use the same address, and the same iSCSI Node to use
multiple addresses.
<Note to reviewers: The above change from "a single iSCSI initiator 2.1 Definitions
or a single iSCSI target" to "a single iSCSI initiator or a single
iSCSI target or both" does not impact the iSCSI MIB - as the "both"
portion is already accommodated there, where it makes statements
such as: "iscsiNode - An iSCSI node can act as an initiator, a
target, or both.", and "A portal can operate in one or both of two
roles: as a target portal and/or an initiator portal.".
In addition, RFCs 3271 also mentions that an iSCSI node may contain The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
both an iSCSI initiator and an iSCSI target.> NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119].
2.2 Acronyms 2.2 Acronyms
SAM4 SCSI Architecture Model - 4 SAM4 SCSI Architecture Model - 4
SAM5 SCSI Architecture Model - 5 SAM5 SCSI Architecture Model - 5
SAM SAM4 or SAM5 SAM SAM4 or SAM5
UML Unified Modeling Language
2.3 New Semantics 2.3 New Semantics
This document specifies new iSCSI semantics. This section This document specifies new iSCSI semantics. This section
summarizes the contents of the document. summarizes the contents of the document.
Section 3: UML Conventions Section 3: The mapping of iSCSI objects to SAM5 objects
The iSCSI node may contain both initiator and
Section 4: The UML diagram of the iSCSI objects target capabilities.
Section 5: The mapping of iSCSI objects to SAM5 objects
Section 6: The protocol used to negotiate the use of the new
capabilities described in this document.
Section 7: New Command operations
Section 8: New Task Management Functions
3 UML Conventions
3.1 UML Conventions overview
The SCSI Architecture Model (SAM) uses class diagrams and object
diagrams with notation that is based on the Unified Modeling
Language [UML]. Therefore, this document also uses UML to model
the relationships for SCSI and iSCSI objects.
A treatise on the graphical notation used in UML is beyond the
scope of this document. However, given the use of ASCII drawing
for UML static class diagrams, a description of the notational
conventions used in this document is included in the remainder of
this section.
3.2 Multiplicity notation
Not specified The number of instances of an attribute is not
specified.
1 One instance of the class or attribute exists.
0..* Zero or more instances of the class or attribute
exist.
1..* One or more instances of the class or attribute
exist.
0..1 Zero or one instance of the class or attribute
exists.
n..m n to m instances of the class or attribute exist
(e.g., 2..8).
x, n..m Multiple disjoint instances of the class or
attribute exist (e.g., 2, 8..15).
3.3 Class diagram conventions
+--------------+ +--------------+ +--------------+
| Class Name | | Class Name | | Class Name |
+--------------+ +--------------+ +--------------+
| | | |
+--------------+ +--------------+
| |
+--------------+
The above three diagrams are examples of a class with no
attributes and with no operations.
+-------------------+ +-------------------+
| Class Name | | Class Name |
+-------------------+ +-------------------+
| attribute 01[1] | | attribute 01[1] |
| attribute 02[1] | | attribute 02[1] |
+-------------------+ +-------------------+
| |
+-------------------+
The above two diagrams are examples of a class with attributes
and with no operations.
+------------------------+
| Class Name |
+------------------------+
| attribute 01[1..*] |
| attribute 02[1] |
+------------------------+
| operation 01() |
| operation 02() |
+------------------------+
The above diagram is an example of a class with attributes that
have a specified multiplicity and operations.
3.4 Class diagram notation for associations
+-----------------+
| Class A |
+-----------------+ association_name +-----------------+
| attribute 01[1] |<------------------>| Class B |
| attribute 02[1] | 1..* 0..1 +-----------------+
+-----------------+ | attribute 03[1] |
| operation 1() | +-----------------+
+-----------------+
The above diagram is an example where Class A knows about Class B
(i.e., read as "Class A association_name ClassB") and Class B
knows about Class A (i.e., read as "Class B association_name
Class A"). The use of association_name is optional. The
multiplicity notation (1..* and 0..1) indicate the number of
instances of the object.
+--------------------+
| Class A |
+--------------------+ +--------------------+
| attribute 01[1] |<-------------| Class B |
| attribute 02[1] | 1 0..1 +--------------------+
+--------------------+ | attribute 03[1] |
| operation 1() | +--------------------+
+--------------------+
The above diagram is an example where Class B knows about Class A
(i.e., read as "Class B knows about Class A") but Class A does
not know about Class B.
+----------------------+
| Class A |
+----------------------+ +--------------------+
| attribute 01[1] |----------->| Class B |
| attribute 02[1] | 0..* 1 +--------------------+
+----------------------+ | attribute 03[1] |
| operation 1() | +--------------------+
+----------------------+
The above diagram is an example where Class A knows about Class B
(i.e., read as "Class A knows about Class B") but Class B does
not know about Class A.
3.5 Class diagram notation for aggregations
+---------+ +--------+
| whole |o------------| part |
+---------+ +--------+
The above diagram is an example where the part class is part of
the whole class and may continue to exist even if the whole class
is removed (i.e., read as "the whole contains the part").
+---------+ +--------+
| whole |@------------| part |
+---------+ +--------+
The above diagram is an example where the part class is part of
the whole class, shall only belong to one whole class, and shall
not continue to exist if the whole class is removed (i.e., read
as "the whole contains the part").
+-------------+
| |
+-------------+
| |
+ =(a)= +
| |
The above diagram is an example where there is a constraint
between the associations where the (a) footnote describes the
constraint.
3.6 Class diagram notation for generalizations
+---------------+
| Superclass |
+-------^-------+
/_\
|
+---------------+
| Subclass |
+---------------+
The above diagram is an example where the subclass is a kind of
superclass. A subclass shares all the attributes and operations
of the superclass (i.e., the subclass inherits from the
superclass).
4 iSCSI UML Model Section 4: The protocol used to negotiate the use of the new
capabilities described in this document.
+----------------+ Section 5: New Command operations
| Network Entity | The PRI field for SCSI command priority has been
+----------------+ added to the SCSI command PDU (see 5.1.1).
@ 1 @ 1 The Status Qualifier field has been added to the
| | SCSI response PDU (see 5.2.1).
+---------------------+ | Sense data may be returned (via autosense) for any
| | SCSI status, not just CHECK CONDITION (see 5.2.2).
| | 0..*
| +------------------+
| | iSCSI Node |
| +------------------+
| @ @
| | |
| +------------+ =(a)= +------------+
| | |
| | 0..1 | 0..1
| +------------------------+ +----------------------+
| | iSCSI Target Node | | iSCSI Initiator Node |
| +------------------------+ +----------------------+
| @ 1 @ 1
| +---------------+ |
| 1..* | | 1..*
| +-----------------------------+
| | Portal Group |
| +-----------------------------+
| O 1
| |
| | 1..*
| 1..* +------------------------+
+-------------------| Network Portal |
+------------------------+
(a) Each instance of an iSCSI Node class MUST contain one iSCSI Section 6: New Task Management Functions
Target Node instance or one iSCSI Initiator Node instance, or Four new task management functions (QUERY TASK,
both. QUERY TASK SET, I_T NEXUS RESET, and QUERY
ASYNCHRONOUS EVENT have been added (see 6.2).
A new "function succeeded" response has been added
(see 6.3.1).
+----------------+ Section 7: New Negotiation key
| Network Entity | A new negotiation key has been added to enable the
+----------------+ use of the new features in section 5 and section
@ 1 @ 1 6.
| | +-------------------+
+---------------------+ | | iSCSI Session |
| | +-------------------+
| | 0..* | SSID[1] |
| +--------------------+ | ISID[1] |
| | iSCSI Node | +-------------------+
| +--------------------+ @ 1
| | iSCSI Node Name[1] | |
| | Alias [0..1] | | 0..*
| +--------------------+ +------------------+
| | | | iSCSI Connection |
| +--------------------+ +------------------+
| @ 1 @ 1 | CID[1] |
| | | +------------------+
| +------------+ ==(b)== +-----------+ | 0..*
| | | |
| | 1 | 1 |
| +------------------------+ +------------------------+ |
| | iSCSI Target Node | | iSCSI Initiator Node | |
| +------------------------+ +------------------------+ |
| | iSCSI Target name [1] | |iSCSI Initiator Name [1]| |
| +------------------------+ +------------------------+ |
| @ 1 @ 1 |
| | | |
| | 1..* | 1..* |
| +--------------------------+ +------------------------+ |
| | Target Portal Group | | Initiator Portal Group | |
| +--------------------------+ +------------------------+ |
| |Target Portal Group Tag[1]| | Portal group tag[1] | |
| +--------------------------+ +------------------------+ |
| o 1 o 1 |
| | | |
| +-----------+ +---------+ |
| 1..* | | 1..* |
| +-------------------------+ |
| | Network Portal | |
| +-------------------------+ |
| 1..* | IP Address [1] | 1 |
+-----------------| TCP Port [0..1] |<--------------------+
+-------------------------+
(b) Each instance of an iSCSI Node class MUST contain one iSCSI 3. Terminology Mapping
Target Node instance or one iSCSI Initiator Node instance, or
both.
5 Terminology Mapping The iSCSI model (defined in [RFC3720]) 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 terms are
not necessarily equivalent, but rather, the iSCSI terms represent
examples of the objects or classes described in SAM as follows:
The iSCSI model (defined in [RFC3720]) uses different terminology +-----------------------------+---------------------------+
than the SCSI Architecture Model. In some cases, iSCSI uses | RFCxxx Terminology | SAM Terminology |
multiple terms to describe what in the SCSI Architecture Model is +-----------------------------+---------------------------+
described with a single term. The iSCSI terms and SAM terms are | Network Entity | none |
not necessarily equivalent, but rather, the iSCSI terms represent +-----------------------------+---------------------------+
examples of the objects or classes described in SAM as follows: | 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 Name | SCSI Initiator Port Name |
| iSCSI Node Name + ',i,' + | |
| ISID | |
+-----------------------------+---------------------------+
| iSCSI Target Node | SCSI Target Device |
+-----------------------------+---------------------------+
| iSCSI Target Name | SCSI Device Name |
+-----------------------------+---------------------------+
| iSCSI Target Port Name | SCSI Target Port Name |
| iSCSI Node Name + ',t,' + | |
| Target Portal Group Tag | |
+-----------------------------+---------------------------+
| iSCSI Target Portal Group | SCSI Target Port |
+-----------------------------+---------------------------+
| iSCSI Initiator Node + | SCSI Initiator Port |
| active ISID | |
+-----------------------------+---------------------------+
| iSCSI Initiator Name + | I_T Nexus |
| ',i,' + ISID, iSCSI Target | |
| Name + ',t,' + Portal | |
| Group Tag | |
+-----------------------------+---------------------------+
| Target Portal Group Tag | Relative Port ID |
+-----------------------------+---------------------------+
+-----------------------------+---------------------------+
| RFCxxx Terminology | SAM Terminology |
+-----------------------------+---------------------------+
| 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 Name | SCSI Initiator Port Name |
| iSCSI Node Name + `,i,' + | |
| ISID | |
+-----------------------------+---------------------------+
| iSCSI Target Node | SCSI Target Device |
+-----------------------------+---------------------------+
| iSCSI Target Name | SCSI Device Name |
+-----------------------------+---------------------------+
| iSCSI Target Port Name | SCSI Target Port Name |
| iSCSI Node Name + `,t,' + | |
| Target Portal Group Tag | |
+-----------------------------+---------------------------+
| iSCSI Target Portal Group | SCSI Target Port |
+-----------------------------+---------------------------+
| iSCSI Initiator Node + | SCSI Initiator Port |
| active ISID | |
+-----------------------------+---------------------------+
| iSCSI Initiator Name + | I_T Nexus |
| `,i,' + ISID, iSCSI Target | |
| Name + `,t,' + Portal | |
| Group Tag | |
+-----------------------------+---------------------------+
| Target Portal Group Tag | Relative Port ID |
+-----------------------------+---------------------------+
-------------------------------------------------------- --------------------------------------------------------
RFC EDITORS NOTE: The above reference to [RFCxxx] should RFC EDITORS NOTE: The above reference (in row 1) to [RFCxxx]
reference this RFC, and this note should be removed. should reference this RFC, and this note should be removed.
-------------------------------------------------------- --------------------------------------------------------
The following diagram shows an example of a combination target The following diagram shows an example of a combination target
device and initiator device. Such a configuration may exist device and initiator device. Such a configuration may exist in a
in a target device that implements a SCSI Copy Manager. This target device that implements a SCSI Copy Manager. This example
example shows how a session that shares Network Portals within shows how a session that shares Network Portals within a Portal
a Portal Group may be established (see Target Portal Group 1). Group may be established (see Target Portal Group 1). In
In addition, this example shows the Initiator using a addition, this example shows the Initiator using a different
different Portal Group than the Target Portal Group, but the Portal Group than the Target Portal Group, but the Initiator
Initiator Portal group sharing Network Portal A with the Portal group sharing Network Portal A with the Target Portal
Target Portal Group. Group.
----------------------------IP Network--------------------- ----------------------------IP Network---------------------
| | | | | |
+----|---------------|------+ +-----|-----------+ +----|---------------|-------+ +----|------------+
| +----------+ +----------+ | | +----------+ | | +----------+ +----------+ | | +----------+ |
| | Network | | Network | | | | Network | | | | Network | | Network | | | | Network | |
| | Portal A | | Portal B | | | | Portal A | | | | Portal A | | Portal B | | | | Portal A | |
| +----------+ +----------+ | | +----------+ | | +----------+ +----------+ | | +----------+ |
| | Target | | | | Initiator | | | Target | | | | Initiator |
| | Portal | | | | Portal | | | Portal | | | | Portal |
| | Group 1 | | | | Group 2 | | | Group 1 | | | | Group 2 |
+----|---------------|------+ +-----|-----------+ +----|---------------|-------+ +----|------------+
| | | | | |
+----------|---------------|--------------------|--------------------+ +----------|---------------|--------------------|--------------------+
| +--------|---------------|----+ +-------------|------------------+ | | +--------|---------------|----+ +-------------|------------------+ |
| |+-------|---------------|---+| |+------------|-----------------+| | | |+-------|---------------|---+| |+------------|-----------------+| |
| ||iSCSI Session (Target side)|| ||iSCSI Session (Initiator side)|| | | ||iSCSI Session (Target side)|| ||iSCSI Session (Initiator side)|| |
| || || || || | | || || || || |
| || (TSIH = 56) || || (SSID = 48) || | | || (TSIH = 56) || || (SSID = 48) || |
| |+---------------------------+| |+------------------------------+| | | |+---------------------------+| |+------------------------------+| |
| | | | | | | | | | | |
| | iSCSI Target Node | | iSCSI Initiator Node | | | | iSCSI Target Node | | iSCSI Initiator Node | |
| +-----------------------------+ +--------------------------------+ | | +-----------------------------+ +--------------------------------+ |
| iSCSI Node | | iSCSI Node |
| (within Network Entity, not shown) | | (within Network Entity, not shown) |
+--------------------------------------------------------------------+ +--------------------------------------------------------------------+
6 Negotiation of New Feature Use 4. Negotiation of New Feature Use
The PDUFormatForSAMUpdate operational text key (see 9.1.1) The iSCSIProtocolLevel operational text key (see 7.1.1)
containing a value of "Yes" MUST be negotiated to enable the use containing a value of "2" or higher MUST be negotiated to enable
of features described in this RFC. the use of features described in this RFC.
7 SCSI Commands Note that an operational value of "2" or higher for this key on
an iSCSI session does not influence the SCSI level features in
any way on that I_T nexus. An operational value of "2" or higher
for this key permits the iSCSI-related features defined in this
document to be used on all connections on this iSCSI session.
SCSI level hand-shakes (e.g. commands, mode pages) eventually
determine the existence or lack of various SAM features available
for the I_T nexus between the two SCSI end points). To
summarize, negotiation of this key to "2" or higher is a
necessary but not a sufficient condition of SAM-4 compliant
feature usage at the SCSI protocol level.
7.1 SCSI Command Additions For example, an iSCSI implementation may negotiate this new key
to "2" but respond to the new task management functions (see 6.2)
with a "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 (such
a reject would report an iSCSI protocol error).
The format of the SCSI Command PDU is: 5. SCSI Commands
Byte/ 0 | 1 | 2 | 3 | 5.1 SCSI Command Additions
/ | | | |
|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) /
+---------------+---------------+---------------+---------------+
7.1.1 Command Priority (byte 2) The format of the SCSI Command PDU is:
The Command Priority (PRI) specifies the relative scheduling
importance of this task in relation to other SIMPLE tasks already
in the task set (see [SAM4]).
As defined in Section 10, iSCSI PDU Formats of [RFC3720], Byte/ 0 | 1 | 2 | 3 |
compliant senders already set this field to zero. A sender MUST / | | | |
NOT set this field to a value other than zero unless the |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|
PDUFormatForSAMUpdate text key defined in section 9.1.1 has been +---------------+---------------+---------------+---------------+
negotiated on the session with a value of "Yes". 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) /
+---------------+---------------+---------------+---------------+
This field MUST be ignored by iSCSI targets unless the 5.1.1 Command Priority (byte 2)
PDUFormatForSAMUpdate text key with a value of "Yes" as defined
in section 9.1.1 was negotiated on the session.
7.2 SCSI Response Additions The Command Priority (PRI) specifies the relative scheduling
importance of this task in relation to other SIMPLE tasks already
in the task set (see [SAM4]).
The format of the SCSI Response PDU is: Section 10, iSCSI PDU Formats of [RFC3720], 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" or higher.
This field MUST be ignored by iSCSI targets unless the
iSCSIProtocolLevel text key with a value of "2" or higher as
defined in section 7.1.1 was negotiated on the session.
5.2 SCSI Response Additions
The format of the SCSI Response PDU is:
Byte/ 0 | 1 | 2 | 3 | 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 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 | 0|.|.| 0x21 |1|. .|o|u|O|U|.| Response | Status |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
4|TotalAHSLength | DataSegmentLength | 4|TotalAHSLength | DataSegmentLength |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
8| Status Qualifier | Reserved | 8| Status Qualifier | Reserved |
skipping to change at page 15, line 45 skipping to change at page 10, line 5
44| Residual Count or Reserved | 44| Residual Count or Reserved |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
48| Header-Digest (Optional) | 48| Header-Digest (Optional) |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
/ Data Segment (Optional) / / Data Segment (Optional) /
+/ / +/ /
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
| Data-Digest (Optional) | | Data-Digest (Optional) |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
7.2.1 Status Qualifier 5.2.1 Status Qualifier
The Status Qualifier provides additional status information (see The Status Qualifier provides additional status information (see
[SAM4]). [SAM4]).
As defined in Section 10, iSCSI PDU Formats of [RFC3720], As defined in Section 10, iSCSI PDU Formats of [RFC3720],
compliant senders already set this field to zero. Compliant compliant senders already set this field to zero. Compliant
senders MUST NOT set this field to a value other than zero unless senders MUST NOT set this field to a value other than zero unless
the PDUFormatForSAMUpdate text key with a value of "Yes" as the iSCSIProtocolLevel text key with a value of "2" or higher as
defined in section 9.1.1 was negotiated on the session. defined in section 7.1.1 was negotiated on the session.
This field MUST be ignored by receivers unless the This field MUST be ignored by receivers unless the
PDUFormatForSAMUpdate text key with a value of "Yes" as defined iSCSIProtocolLevel text key with a value of "2" or higher as
in section 9.1.1 was negotiated on the session. defined in section 7.1.1 was negotiated on the session.
7.2.2 Data Segment - Sense and Response Data Segment 5.2.2 Data Segment - Sense and Response Data Segment
Section 10.4.7 of [RFC3720] specifies that iSCSI targets MUST Section 10.4.7 of [RFC3720] specifies that iSCSI targets MUST
support and enable autosense. If Status is CHECK CONDITION support and enable autosense. If Status is CHECK CONDITION
(0x02), then the Data Segment MUST contain sense data for the (0x02), then the Data Segment MUST contain sense data for the
failed command. While [RFC3720] does not make any statements failed command. While [RFC3720] does not make any statements
about the state of the Data Segment when the Status is not CHECK about the state of the Data Segment when the Status is not CHECK
CONDITION (0x02)(i.e., the Data Segment is not prohibited from CONDITION (0x02)(i.e., the Data Segment is not prohibited from
containing sense data when the Status is not CHECK CONDITION), containing sense data when the Status is not CHECK CONDITION),
negotiation of the PDUFormatForSAMUpdate text key with a value of negotiation of the iSCSIProtocolLevel text key with a value of
"Yes" as defined in section 9.1.1 explicitly indicates that the "2" or higher as defined in section 7.1.1 explicitly indicates
Data Segment MAY contain sense data at any time, no matter what that the Data Segment MAY contain sense data at any time, no
value is set in the Status field. matter what value is set in the Status field.
8 Task Management Functions 6. Task Management Functions
8.1 Existing Task Management Functions 6.1 Existing Task Management Functions
Section 10.5 of [RFC3720] defines the semantics used to request Section 10.5 of [RFC3720] defines the semantics used to request
SCSI Task Management Functions be performed. The following task SCSI Task Management Functions be performed. The following task
management functions are defined: management functions are defined:
1 - ABORT TASK 1 - ABORT TASK
2 - ABORT TASK SET 2 - ABORT TASK SET
3 - CLEAR ACA 3 - CLEAR ACA
4 - CLEAR TASK SET 4 - CLEAR TASK SET
5 - LOGICAL UNIT RESET 5 - LOGICAL UNIT RESET
6 - TARGET WARM RESET 6 - TARGET WARM RESET
7 - TARGET COLD RESET 7 - TARGET COLD RESET
8 - TASK REASSIGN 8 - TASK REASSIGN
8.2 Task Management Function Additions 6.2 Task Management Function Additions
Additional task Management function codes are listed below. For
a more detailed description of SCSI task management, see [SAM5].
Additional task Management function codes are listed below. For 9 - QUERY TASK - determines if the task identified by the
a more detailed description of SCSI task management, see [SAM5]. Referenced Task Tag field is present in the task set.
9 - QUERY TASK - determines if the task identified by the 10 - QUERY TASK SET - determine if any task is present in the
Referenced Task Tag field is present in the task set. task set.
10 - QUERY TASK SET - determine if any task is present in the 11 - I_T NEXUS RESET - perform an I_T nexus loss function for
task set. the I_T nexus of each logical unit accessible through the I_T
Nexus on which the task management function was received.
11 - I_T NEXUS RESET - perform an I_T nexus loss function for 12 - QUERY ASYNCHRONOUS EVENT - determine if there is a unit
the I_T nexus of each logical unit accessible through the I_T attention condition or a deferred error pending for the I_T_L
Nexus on which the task management function was received. nexus on which the task management function was received.
12 - QUERY ASYNCHRONOUS EVENT - determine if there is a unit These task management function requests MUST NOT be sent unless
attention condition or a deferred error pending for the I_T the iSCSIProtocolLevel text key with a value of "2" or higher as
nexus on which the task management function was received. defined in section 7.1.1 was negotiated on the session.
Any compliant sender MUST NOT send these task management function Any compliant initiator that sends any of the new task management
requests unless the PDUFormatForSAMUpdate text key with a value functions defined in this section MUST also support all new task
of "Yes" as defined in section 9.1.1 was negotiated on the management function responses (see 6.3.1).
session.
Any compliant initiator that sends any of the new task management For all of the task management functions detailed in this
functions defined in this section MUST also support all new task section, the Task Management function response MUST be returned
management function responses (see 8.3.1). as detailed in section 6.3 Task Management Function Response.
For all of the task management functions detailed in this The iSCSI target MUST ensure that no responses for the tasks
section, the Task Management function response MUST be returned covered by a task management function are sent to the iSCSI
as detailed in section 8.3 Task Management Function Response. initiator after the Task Management response except for a task
covered by a TASK REASSIGN, QUERY TASK, or QUERY TASK SET.
The iSCSI target MUST ensure that no responses for the tasks If a QUERY TASK is issued for a task created by an immediate
covered by a task management function are delivered to the iSCSI command then RefCmdSN MUST be that of the Task Management request
initiator after the Task Management response except for a task itself (i.e., CmdSN and RefCmdSN are equal); otherwise RefCmdSN
covered by a TASK REASSIGN, QUERY TASK, or QUERY TASK SET. MUST be set to the CmdSN of the task to be queried (lower than
CmdSN).
If a QUERY TASK is issued for a task created by an immediate At the target a QUERY TASK function MUST NOT be executed on a
command then RefCmdSN MUST be that of the Task Management request Task Management request; such a request MUST result in Task
itself (i.e., CmdSN and RefCmdSN are equal); otherwise RefCmdSN Management response of "Function rejected".
MUST be set to the CmdSN of the task to be queried (lower than
CmdSN).
At the target a QUERY TASK function MUST NOT be executed on a For the I_T NEXUS RESET function, the target device MUST respond
Task Management request; such a request MUST result in Task to the function as defined in [SAM4]. Each logical unit
Management response of "Function rejected". accessible via the receiving I_T NEXUS MUST behave as dictated by
the I_T nexus loss function in [SAM4] 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
For the I_T NEXUS RESET function, the target device MUST respond is recevied. Independent of the DefaultTime2Wait and
to the function as defined in [SAM4]. Each logical unit DefaultTime2Retain value applicable to the session over which
accessible via the receiving I_T NEXUS MUST behave as dictated by this function is received, the target device MUST consider each
the I_T nexus loss function in [SAM4] for the I_T nexus on which participating connection in the session to have immediately timed
the task management function was received. The target device out, leading to FREE state. The resulting timeouts cause the
MUST drop all connections in the session over which this function session timeout event defined in [RFC3720], which in turn
is recevied. Independent of the DefaultTime2Wait and triggers the I_T nexus loss notification to the SCSI layer as
DefaultTime2Retain value applicable to the session over which described in [RFC3720].
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 [RFC3720], which in turn
triggers the I_T nexus loss notification to the SCSI layer as
described in [RFC3720].
8.2.1 LUN field 6.2.1 LUN field
This field is required for functions that address a specific LU This field is required for functions that address a specific LU
(ABORT TASK, CLEAR TASK SET, ABORT TASK SET, CLEAR ACA, LOGICAL (i.e., ABORT TASK, CLEAR TASK SET, ABORT TASK SET, CLEAR ACA,
UNIT RESET, QUERY TASK, QUERY TASK SET, I_T NEXUS RESET, and LOGICAL UNIT RESET, QUERY TASK, QUERY TASK SET, and QUERY
QUERY ASYNCHRONOUS EVENT) and is reserved in all others. ASYNCHRONOUS EVENT) and is reserved in all others.
8.2.2 Referenced Task Tag 6.2.2 Referenced Task Tag
The Initiator Task Tag of the task to be aborted for the ABORT The Initiator Task Tag of the task to be aborted for the ABORT
TASK function, reassigned for the TASK REASSIGN function, or TASK function, reassigned for the TASK REASSIGN function, or
queried for the QUERY TASK function. For all other functions queried for the QUERY TASK function. For all other functions
this field MUST be set to the reserved value 0xffffffff. this field MUST be set to the reserved value 0xffffffff.
8.2.3 RefCmdSN 6.2.3 RefCmdSN
If a QUERY TASK is issued for a task created by an immediate If a QUERY TASK is issued for a task created by an immediate
command then RefCmdSN MUST be that of the Task Management request command then RefCmdSN MUST be that of the Task Management request
itself (i.e., CmdSN and RefCmdSN are equal). itself (i.e., CmdSN and RefCmdSN are equal).
For a QUERY TASK of a task created by non-immediate command 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 RefCmdSN MUST be set to the CmdSN of the task identified by the
Referenced Task Tag field. Targets must use this field as Referenced Task Tag field. Targets must use this field as
described in section 10.6.1 of [RFC3720] when the task identified described in section 10.6.1 of [RFC3720] when the task identified
by the Referenced Task Tag field is not in the task set. by the Referenced Task Tag field is not in the task set.
8.3 Task Management Function Responses 6.3 Task Management Function Responses
Byte/ 0 | 1 | 2 | 3 | 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 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 | 0|.|.| 0x22 |1| Reserved | Response | Reserved |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
4|TotalAHSLength | DataSegmentLength | 4|TotalAHSLength | DataSegmentLength |
+-----------------------------------------------+---------------+ +-----------------------------------------------+---------------+
8| Additional Response Information | Reserved | 8| Additional Response Information | Reserved |
+-----------------------------------------------+---------------+ +-----------------------------------------------+---------------+
12| Reserved | 12| Reserved |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
16| Initiator Task Tag | 16| Initiator Task Tag |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
20| Reserved | 20| Reserved |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
24| StatSN | 24| StatSN |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
28| ExpCmdSN | 28| ExpCmdSN |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
32| MaxCmdSN | 32| MaxCmdSN |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
36/ Reserved / 36/ Reserved /
+/ / +/ /
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
48| Header-Digest (Optional) | 48| Header-Digest (Optional) |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
Section 10.6 of [RFC3720] defines the semantics used for Section 10.6 of [RFC3720] defines the semantics used for
responses to SCSI Task Management Functions. The following responses to SCSI Task Management Functions. The following
responses are defined in [RFC3720]: responses are defined in [RFC3720]:
0 - Function Complete. 0 - Function Complete.
1 - Task does not exist. 1 - Task does not exist.
2 - LUN does not exist. 2 - LUN does not exist.
3 - Task still allegiant. 3 - Task still allegiant.
4 - Task allegiance reassignment not supported. 4 - Task allegiance reassignment not supported.
5 - Task management function not supported. 5 - Task management function not supported.
6 - Function authorization failed. 6 - Function authorization failed.
255 - Function rejected. 255 - Function rejected.
Responses to new task management functions (see 8.3.1) are listed Responses to new task management functions (see 6.3.1) are listed
below. In addition, a new task Management response is listed below. In addition, a new task Management response is listed
below. For a more detailed description of SCSI task management below. For a more detailed description of SCSI task management
responses, see [SAM5]. responses, see [SAM5].
For the functions QUERY TASK, QUERY TASK SET, I_T NEXUS RESET, For the functions QUERY TASK, QUERY TASK SET, I_T NEXUS RESET,
and QUERY ASYNCHRONOUS EVENT, the target performs the requested and QUERY ASYNCHRONOUS EVENT, the target performs the requested
Task Management function and sends a Task Management response Task Management function and sends a Task Management response
back to the initiator. back to the initiator.
8.3.1 Task Management Function Response Additions 6.3.1 Task Management Function Response Additions
The new response is listed below: The new response is listed below:
7 - Function succeeded. 7 - Function succeeded.
In symbolic terms Response value 7 maps to the SCSI service In symbolic terms Response value 7 maps to the SCSI service
response of FUNCTION SUCCEEDED. response of FUNCTION SUCCEEDED.
The task management function response of function succeeded MUST The task management function response of function succeeded MUST
be supported by an initiator that sends any of the new task be supported by an initiator that sends any of the new task
management functions (see 8.2). management functions (see 6.2).
For the QUERY TASK function, if the specified task is in the task For the QUERY TASK function, if the specified task is in the task
set, then the target returns a Response value of Function set, then the target returns a Response value of Function
succeeded and additional response information is returned as succeeded and additional response information is returned as
specified in [SAM5]. If the specified task is not in the task specified in [SAM5]. If the specified task is not in the task
set, then the target returns a Response value of Function set, then the target returns a Response value of Function
complete. complete.
For the QUERY TASK SET function, if there is any command present 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 target in the task set from the specified I_T_L nexus, then the target
returns a Response value of Function succeeded. If there are no returns a Response value of Function succeeded. If there are no
commands present in the task set from the specified I_T_L nexus, commands present in the task set from the specified I_T_L nexus,
then the target returns a Response value of Function complete. then the target returns a Response value of Function complete.
For the I_T NEXUS RESET function, after completion of the events For the I_T NEXUS RESET function, after completion of the events
described in section 8.2 for this function, the target returns a described in section 6.2 for this function, the target returns a
Response value of Function complete. However, because the target Response value of Function complete. However, because the target
drops all connections, the Service Response (defined by [SAM2]) drops all connections, the Service Response (defined by [SAM4])
for this SCSI task management function may not be reliably for this SCSI task management function may not be reliably
delivered to the issuing initiator port. delivered to the issuing initiator port.
For the QUERY ASYNCHRONOUS EVENT, if there is a unit attention For the QUERY ASYNCHRONOUS EVENT, if there is a unit attention
condition or deferred error pending for the specified I_T nexus, condition or deferred error pending for the specified I_T_L
then the target returns a Response value of Function succeeded nexus, then the target returns a Response value of Function
and additional response information is returned as specified in succeeded and additional response information is returned as
[SAM5]. If there is no unit attention or deferred error pending specified in [SAM5]. If there is no unit attention or deferred
for the specified I_T nexus then the target returns a Response error pending for the specified I_T_L nexus then the target
value of Function complete. returns a Response value of Function complete.
8.4 Task Management Requests Affecting Multiple Tasks 6.4 Task Management Requests Affecting Multiple Tasks
Section 4.1 of [RFC5048] defines the notion of "affected tasks" Section 4.1 of [RFC5048] defines the notion of "affected tasks"
in multi-task abort scenarios. This section adds to the list in multi-task abort scenarios. This section adds to the list
include in that section by defining the tasks affected by the I_T include in that section by defining the tasks affected by the I_T
NEXUS RESET function. NEXUS RESET function.
I_T NEXUS RESET: All outstanding tasks received on the I_T I_T NEXUS RESET: All outstanding tasks received on the I_T
nexus on which the function request was received for all nexus on which the function request was received for all
logical units accessible to the I_T nexus. logical units accessible to the I_T nexus.
Section 4.1.2 of [RFC5048] and section 4.1.3 of [RFC5048] Section 4.1.2 of [RFC5048] and section 4.1.3 of [RFC5048]
identify semantics for task management functions that involve identify semantics for task management functions that involve
multi-task abort operations. If an iSCSI implementation supports multi-task abort operations. If an iSCSI implementation supports
the I_T NEXUS RESET function, it MUST also support the protocol the I_T NEXUS RESET function, it MUST also support the protocol
behavior as defined in those sections and follow the sequence of behavior as defined in those sections and follow the sequence of
actions as described in those sections when processing the I_T actions as described in those sections when processing the I_T
NEXUS RESET function. NEXUS RESET function.
9 Login/Text Operational Text Keys 7. Login/Text Operational Text Keys
9.1 New Operational Text Keys 7.1 New Operational Text Keys
9.1.1 PDUFormatForSAMUpdate 7.1.1 iSCSIProtocolLevel
Use: LO Use: LO
Irrelevant when: SessionType = Discovery Irrelevant when: SessionType = Discovery
Senders: Initiator and Target Senders: Initiator and Target
Scope: SW Scope: SW
PDUFormatForSAMUpdate=<Boolean-value> iSCSIProtocolLevel=<numerical-value-from-1-to-65535>
Default is No. Default is 1.
Result function is AND. Result function is Minimum.
This key is used to negotiate the RFC compliance level applicable This key is used to negotiate the use of iSCSI features that
to the iSCSI session once the session is in full feature phase. require different levels of protocol support for proper
operation. This key is negotiated on the iSCSI session once the
session is in full feature phase.
If the negotiation answer is ignored by the acceptor, or the Negotiation of the iSCSIProtocolLevel key to a value claimed by
answer from the remote iSCSI end point is key=NotUnderstood, then an RFC indicates that both negotiating parties are compliant to
the features defined in this RFC MUST NOT be used. the RFC in question, and agree to support the corresponding
semantics on that iSCSI session. An operational value of iSCSI
ProtocolLevel = "x" on an iSCSI session requires that the iSCSI
protocol semantics on that iSCSI session be a logical superset of
the capabilities in all RFCs that have claimed values of an
iSCSIProtocolLevel less than "x".
Note that operational value of "Yes" for this key on an iSCSI An iSCSIProtocolLevel key negotiated to "2" or higher is required
session does not influence the SCSI level features in any way on to enable use of features defined in this RFC.
that I_T nexus. An operational value of "Yes" for this key
permits the iSCSI-related features defined in this document to be
used on all connections on this iSCSI session. SCSI level hand-
shakes (e.g. commands, mode pages) eventually determine the
existence or lack of various SAM features available for the I_T
nexus between the two SCSI end points). To summarize,
negotiation of this key to "Yes" is a necessary but not a
sufficient condition of SAM-4 compliant feature usage at the SCSI
protocol level.
10 Security Considerations 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
At the time of writing this document does not introduce any new At the time of writing this document does not introduce any new
security considerations other than those described in [RFC3720]. security considerations other than those described in [RFC3720].
Consequently, all the iSCSI-related security text in [RFC3723] is Consequently, all the iSCSI-related security text in [RFC3723] is
also directly applicable to this document. also directly applicable to this document.
11 IANA Considerations 9. IANA Considerations
This document modifies or creates a number of iSCSI-related This document modifies or creates a number of iSCSI-related
registries. The following iSCSI-related registries are modified: registries. The following iSCSI-related registries are modified:
1. iSCSI Task Management Functions Codes 1. iSCSI Task Management Functions Codes
Name of the existing registry: "iSCSI TMF Codes" Name of the existing registry: "iSCSI TMF Codes"
Additional entries: Additional entries:
9, QUERY TASK, [RFCxxx] 9, QUERY TASK, [RFCxxx]
10, QUERY TASK SET, [RFCxxx] 10, QUERY TASK SET, [RFCxxx]
11, I_T NEXUS RESET, [RFCxxx] 11, I_T NEXUS RESET, [RFCxxx]
12, QUERY ASYNCHRONOUS EVENT, [RFCxxx] 12, QUERY ASYNCHRONOUS EVENT, [RFCxxx]
--------------------------------------------------------- ---------------------------------------------------------
RFC EDITORS NOTE: The above reference to [RFCxxx] should RFC EDITORS NOTE: The above reference to [RFCxxx] should
reference this RFC, and this note should be removed. reference this RFC, and this note should be removed.
--------------------------------------------------------- ---------------------------------------------------------
2. iSCSI Login/Text Keys 2. iSCSI Login/Text Keys
Name of the existing registry: "iSCSI Text Keys" Name of the existing registry: "iSCSI Text Keys"
Additional entry:
PDUFormatForSAMUpdate, [RFCxxx] Additional entry:
--------------------------------------------------------- iSCSIProtocolLevel = "2", [RFCxxx]
RFC EDITORS NOTE: The above reference to [RFCxxx] should ---------------------------------------------------------
reference this RFC, and this note should be removed. RFC EDITORS NOTE: The above references to [RFCxxx] should
--------------------------------------------------------- reference this RFC, and this note should be removed.
---------------------------------------------------------
This document creates the following iSCSI-related registries for This document creates the following iSCSI-related registries for
IANA to manage. IANA to manage.
3. iSCSI Task Management Response Codes 3. iSCSI Task Management Response Codes
Name of new registry: "iSCSI TMF Response Codes"
Name of new registry: "iSCSI TMF Response Codes"
Namespace details: Numerical values that can fit in 8 bits. Namespace details: Numerical values that can fit in 8 bits.
Information that must be provided to assign a new value: An Information that must be provided to assign a new value: An
IESG-approved specification defining the semantics and IESG-approved specification defining the semantics and
interoperability requirements of the proposed new value and interoperability requirements of the proposed new value and
the fields to be recorded in the registry. the fields to be recorded in the registry.
Assignment policy: Assignment policy:
skipping to change at page 23, line 49 skipping to change at page 17, line 50
------------------------------------------------------------ ------------------------------------------------------------
RFC EDITORS NOTE: The above reference to [RFCxxx] should RFC EDITORS NOTE: The above reference to [RFCxxx] should
reference this RFC, and this note should be removed. reference this RFC, and this note should be removed.
------------------------------------------------------------ ------------------------------------------------------------
Allocation Policy: Allocation Policy:
Standards Action ([IANA]) Standards Action ([IANA])
12 References 10. References
12.1 Normative References 10.1 Normative References
[RFC2119] Bradner, S. "Key Words for use in RFCs to Indicate [RFC2119] Bradner, S. "Key Words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3720] Satran, J., Meth, K., Sapuntzakis, C., Chadalapaka, [RFC3720] Satran, J., Meth, K., Sapuntzakis, C., Chadalapaka,
M., and E. Zeidner, "Internet Small Computer Systems M., and E. Zeidner, "Internet Small Computer Systems
Interface (iSCSI)", RFC 3720, April 2004. Interface (iSCSI)", RFC 3720, April 2004.
[RFC3723] Aboba, B., Tseng, J., Walker, J., Rangan, V., and [RFC3723] Aboba, B., Tseng, J., Walker, J., Rangan, V., and
Travostino, F., "Securing Block Storage Protocols Travostino, F., "Securing Block Storage Protocols
over IP", RFC 3723, April 2004. over IP", RFC 3723, April 2004.
[RFC5048] Chadalapaka, M., "Internet Small Computer System [RFC5048] Chadalapaka, M., "Internet Small Computer System
Interface (iSCSI) Corrections and Clarifications", Interface (iSCSI) Corrections and Clarifications",
RFC 5048, October 2007. RFC 5048, October 2007.
[IANA] Narten, T. and H. Alvestrand, "Guidelines for Writing [IANA] Narten, T. and H. Alvestrand, "Guidelines for Writing
an IANA Considerations Section in RFCs", BCP 26, RFC an IANA Considerations Section in RFCs", BCP 26, RFC
5226, May 2008. 5226,May 2008.
[UML] ISO/IEC 19501, Unified Modeling Language
Specification Version 1.4.2.
[SAM2] T10/1157D, SCSI Architecture Model - 2 (SAM-2). [SAM2] T10/1157D, SCSI Architecture Model - 2 (SAM-2).
[SAM4] ISO/IEC 14776-414, SCSI Architecture Model - 4 (SAM- [SAM4] ISO/IEC 14776-414, SCSI Architecture Model - 4 (SAM-
4). 4).
12.2 Informative References [SAM5] T10/2104D rev r05, SCSI Architecture Model - 5 (SAM-
5), Committee Draft.
[SAM5] T10/2104D rev xxx, SCSI Architecture Model - 5 (SAM-
5), Work in Progress. <we still have to figure out
what to do with this - normative vs. informative vs.
get T10 to stabilize a version for us to reference
vs. other ideas...>
12.3 Additional Reference Sources
For more information on the SCSI Architecture Model, contact the 10.2 Additional Reference Sources
T10 group at http://www.t10.org.
For more information on the UML specification, contact the Object For more information on the SCSI Architecture Model, contact the
Modeling Group at http://www.omg.org. T10 group at http://www.t10.org.
13 Acknowledgements 11. Acknowledgements
The Storage Maintenance (STORM) Working Group in the Transport The Storage Maintenance (STORM) Working Group in the Transport
Area of the IETF has been responsible for defining these Area of the IETF has been responsible for defining these
additions to the iSCSI protocol (apart from other relevant IP additions to the iSCSI protocol (apart from other relevant IP
Storage protocols). The editor acknowledges the contributions of Storage protocols). The editor acknowledges the contributions of
the entire working group. the entire working group.
The following individuals directly contributed to identifying The following individuals directly contributed to identifying
[RFCxxx] issues and/or suggesting resolutions to the issues [RFCxxx] issues and/or suggesting resolutions to the issues
clarified in this document: Mallikarjun Chadalapaka, David Black, clarified in this document: David Black, Rob Elliott. This
Rob Elliott. This document benefited from all of these document benefited from all of these contributions.
contributions. ------------------------------------------------------------
RFC EDITORS NOTE: The above reference to [RFCxxx] should
reference this RFC, and this note should be removed.
------------------------------------------------------------
------------------------------------------------------------ Editor's Addresses
RFC EDITORS NOTE: The above reference to [RFCxxx] should Frederick Knight
reference this RFC, and this note should be removed. 7301 Kit Creek Road
------------------------------------------------------------ P.O. Box 13917
Research Triangle Park, NC 27709, USA
Phone: +1-919-476-5362
Email: knight@netapp.com
Editor's Address Mallikarjun Chadalapaka
Frederick Knight Hewlett-Packard Company
7301 Kit Creek Road 8000 Foothills Blvd.
P.O. Box 13917 Roseville, CA 95747-5668, USA
Research Triangle Park, NC 27709 Phone: +1-916-785-5621
Phone: +1-919-476-5362 EMail: cbm@rose.hp.com
Email: knight@netapp.com
 End of changes. 131 change blocks. 
769 lines changed or deleted 531 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/