Erez Zilber | 2 Jul 2006 12:48

Receiving a SCSI response after abort task was sent

Hi,

I have a question about aborting tasks: when an initiator sends "abort task" to the target, it is possible that the target will send a SCSI response for the same task before receiving the abort task (I guess that the target won't send a task management response for the abort task). What should the initiator do with the SCSI response? Is the host that issued the abort task willing to receive a SCSI response for that task? Is it willing to receive only a task management response for the abort task?

This message was also sent to linux-scsi mailing list.

Thanks
--
Main Signature Signature

____________________________________________________________

Erez Zilber   |  972-9-971-7689

Software Engineer, Storage Team

Voltaire – The Grid Backbone

 

 www.voltaire.com

 


_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
Black_David | 3 Jul 2006 15:54

RE: Receiving a SCSI response after abort task was sent

Erez,
 
> I have a question about aborting tasks: when an initiator sends "abort task" to the target,
> it is possible that the target will send a SCSI response for the same task before receiving the
> abort task (I guess that the target won't send a task management response for the abort task).
 
Yes and (No) in that order.  The "abort task" task management function
is defined to succeed when the task does not exist - the response will
indicate success in this situation.
 
> What should the initiator do with the SCSI response?
 
Process it normally, as it would any other SCSI Response.
 
> Is the host that issued the abort task willing to receive a SCSI response for that task?
> Is it willing to receive only a task management response for the abort task?
 
Yes and No in that order, the SCSI response is possible and must be
handled.  There will always be a task management response, independent
of whether the SCSI response is issued.  One important rule is that
the SCSI response cannot occur *after* the task management response.
 
Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
black_david <at> emc.com        Mobile: +1 (978) 394-7754
----------------------------------------------------

From: Erez Zilber [mailto:erezz <at> voltaire.com]
Sent: Sunday, July 02, 2006 6:48 AM
To: ips <at> ietf.org
Subject: [Ips] Receiving a SCSI response after abort task was sent

Hi,

I have a question about aborting tasks: when an initiator sends "abort task" to the target, it is possible that the target will send a SCSI response for the same task before receiving the abort task (I guess that the target won't send a task management response for the abort task). What should the initiator do with the SCSI response? Is the host that issued the abort task willing to receive a SCSI response for that task? Is it willing to receive only a task management response for the abort task?

This message was also sent to linux-scsi mailing list.

Thanks
--
<at> font-face { font-family: Copperplate Gothic Light; } <at> page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin: 36.0pt; mso-footer-margin: 36.0pt; mso-paper-source: 0; } SPAN.SPELLE { mso-spl-e: yes } SPAN.GRAME { mso-gram-e: yes } P.MsoNormal { FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman" } LI.MsoNormal { FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman" } DIV.MsoNormal { FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman" } A:link { COLOR: blue; TEXT-DECORATION: underline; text-underline: single } SPAN.MsoHyperlink { COLOR: blue; TEXT-DECORATION: underline; text-underline: single } A:visited { COLOR: purple; TEXT-DECORATION: underline; text-underline: single } SPAN.MsoHyperlinkFollowed { COLOR: purple; TEXT-DECORATION: underline; text-underline: single } DIV.Section1 { page: Section1 }

____________________________________________________________

Erez Zilber   |  972-9-971-7689

Software Engineer, Storage Team

Voltaire – The Grid Backbone

 www.voltaire.com

 


_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
Julian Satran | 3 Jul 2006 18:19
Picon
Favicon

Re: Receiving a SCSI response after abort task was sent



Erez Zilber <erezz <at> voltaire.com> wrote on 02/07/2006 13:48:16:

> Hi,
>
> I have a question about aborting tasks: when an initiator sends
> "abort task" to the target, it is possible that the target will send
> a SCSI response for the same task before receiving the abort task (I
> guess that the target won't send a task management response for the
> abort task).

That can happen - however the target has to send the response to task management.

> What should the initiator do with the SCSI response?
> Is the host that issued the abort task willing to receive a SCSI
> response for that task? Is it willing to receive only a task
> management response for the abort task?
>

It has to be ready to get a SCSI response BEFORE the task abort report.
It may react badly if it receives a SCSI response AFTER the task abort response (that is forbidden by SCSI).

> This message was also sent to linux-scsi mailing list.
>
> Thanks
> --
> ____________________________________________________________
> Erez Zilber   |  972-9-971-7689
> Software Engineer, Storage Team
> Voltaire – The Grid Backbone
>  
>  www.voltaire.com
>   _______________________________________________
> Ips mailing list
> Ips <at> ietf.org
> https://www1.ietf.org/mailman/listinfo/ips
_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
Robert Snively | 3 Jul 2006 19:18
Favicon

RE: Receiving a SCSI response after abort task was sent

With one minor warning, I agree with David.
 
Warning below:

From: Black_David <at> emc.com [mailto:Black_David <at> emc.com]
Sent: Monday, July 03, 2006 6:54 AM
To: erezz <at> voltaire.com; ips <at> ietf.org
Subject: RE: [Ips] Receiving a SCSI response after abort task was sent

Erez,
 
> I have a question about aborting tasks: when an initiator sends "abort task" to the target,
> it is possible that the target will send a SCSI response for the same task before receiving the
> abort task (I guess that the target won't send a task management response for the abort task).
 
Yes and (No) in that order.  The "abort task" task management function
is defined to succeed when the task does not exist - the response will
indicate success in this situation.
 
> What should the initiator do with the SCSI response?
 
Process it normally, as it would any other SCSI Response.
 
> Is the host that issued the abort task willing to receive a SCSI response for that task?
> Is it willing to receive only a task management response for the abort task?
 
Yes and No in that order, the SCSI response is possible and must be
handled.  There will always be a task management response, independent
of whether the SCSI response is issued.  One important rule is that
the SCSI response cannot occur *after* the task management response. 
 
In some technologies and under some conditions, it is hypothetically possible for a SCSI
response to appear at an initiator after the task management response.  In such environments, this will
be detected as a SCSI response for which there is no SCSI request and it will be discarded. 
Since TCP/IP forces in-order behavior on the SCSI stream, and since the abort task is
normally sent through the same stream as the command, this normally may be ignored
by iSCSI.
 
Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
black_david <at> emc.com        Mobile: +1 (978) 394-7754
----------------------------------------------------

From: Erez Zilber [mailto:erezz <at> voltaire.com]
Sent: Sunday, July 02, 2006 6:48 AM
To: ips <at> ietf.org
Subject: [Ips] Receiving a SCSI response after abort task was sent

Hi,

I have a question about aborting tasks: when an initiator sends "abort task" to the target, it is possible that the target will send a SCSI response for the same task before receiving the abort task (I guess that the target won't send a task management response for the abort task). What should the initiator do with the SCSI response? Is the host that issued the abort task willing to receive a SCSI response for that task? Is it willing to receive only a task management response for the abort task?

This message was also sent to linux-scsi mailing list.

Thanks
--
<at> font-face { font-family: Copperplate Gothic Light; } <at> page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin: 36.0pt; mso-footer-margin: 36.0pt; mso-paper-source: 0; } SPAN.SPELLE { mso-spl-e: yes } SPAN.GRAME { mso-gram-e: yes } P.MsoNormal { FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman" } LI.MsoNormal { FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman" } DIV.MsoNormal { FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman" } A:link { COLOR: blue; TEXT-DECORATION: underline; text-underline: single } SPAN.MsoHyperlink { COLOR: blue; TEXT-DECORATION: underline; text-underline: single } A:visited { COLOR: purple; TEXT-DECORATION: underline; text-underline: single } SPAN.MsoHyperlinkFollowed { COLOR: purple; TEXT-DECORATION: underline; text-underline: single } DIV.Section1 { page: Section1 }

____________________________________________________________

Erez Zilber   |  972-9-971-7689

Software Engineer, Storage Team

Voltaire – The Grid Backbone

 www.voltaire.com

 


_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
William Studenmund | 5 Jul 2006 19:47

Re: Receiving a SCSI response after abort task was sent

On Jul 3, 2006, at 10:18 AM, Robert Snively wrote:

With one minor warning, I agree with David.
 
Warning below:

> Is the host that issued the abort task willing to receive a SCSI response for that task?
> Is it willing to receive only a task management response for the abort task?
 
Yes and No in that order, the SCSI response is possible and must be
handled.  There will always be a task management response, independent
of whether the SCSI response is issued.  One important rule is that
the SCSI response cannot occur *after* the task management response. 
 
In some technologies and under some conditions, it is hypothetically possible for a SCSI
response to appear at an initiator after the task management response.  In such environments, this will
be detected as a SCSI response for which there is no SCSI request and it will be discarded. 
Since TCP/IP forces in-order behavior on the SCSI stream, and since the abort task is
normally sent through the same stream as the command, this normally may be ignored
by iSCSI.

I don't think this is a concern, because the ABORT TASK MUST be on the same connection (section 10.5.1, page 131 of RFC 3720) as the command in question. Thus StatSN numbering for the two is in the same number space. The SCSI response should have a lower StatSN than the TMF response as StatSN is the only real way to determine what is "before" or "after", and we are talking about the case where the task finished "before" the abort.

So as the initiator processes StatSN responses, it will see the SCSI response "before" the TMF response.

As long as any other iSCSI transport (other than TCP) retains StatSN, this will work right.

Take care,

Bill
_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
David Wysochanski | 7 Jul 2006 20:42
Picon

Updates to draft-ietf-ips-iscsi-nodearch-key-00.txt

Attached is an updated version of draft-ietf-ips-iscsi-nodearch-key which
addresses all of the remaining items on my list.  Comments welcome.
Note that I will not be attending the Montreal meeting.  However, my
colleage, Tom Talpey should be in attendance.

Significant changes are:

1. p. 2. Updated usage paragraph.  This seemed a little vague, so I tried
to make it more specific and focus on prevention of the previous problem
with JavaScript.  I also loosened the requirement for setting the key
value automatically to a SHOULD instead of a MUST (based on another reviewer
comment).

2.  p. 4. Security updates related to logging and different levels of
risk for nodes.  These ideas came from a computer security reviewer,
and I believe address important issues.

List of all changes (verified via RFC diff tool below)
draft-ietf-ips-iscsi-nodearch-key-00.txt
draft-ietf-ips-iscsi-nodearch-key-01r1.txt
- p. 2: Modified proper use paragraph
- p. 3: fix typeo
- p. 4: fix typeo
- p. 4: added paragraphs 3-5
- p. 8: added another contributor

http://www1.tools.ietf.org/tools/rfcdiff/rfcdiff.pyht

INTERNET-DRAFT                                       Dave Wysochanski
Expires: November 4, 2006                      Network Appliance, Inc
                                                          May 4, 2006

 

      Declarative Public Extension Key for iSCSI Node Architecture
               draft-ietf-ips-iscsi-nodearch-key-00.txt

Status of this Memo 

   By submitting this Internet-Draft, each author represents 
   that any applicable patent or other IPR claims of which he or 
   she is aware have been or will be disclosed, and any of which 
   he or she becomes aware will be disclosed, in accordance with 
   Section 6 of BCP 79. 

   Internet-Drafts are working documents of the Internet 
   Engineering Task Force (IETF), its areas, and its working 
   groups.  Note that other groups may also distribute working 
   documents as Internet-Drafts. 

   Internet-Drafts are draft documents valid for a maximum of 
   six months and may be updated, replaced, or obsoleted by 
   other documents at any time.  It is inappropriate to use 
   Internet-Drafts as reference material or to cite them other 
   than as "work in progress." 

   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/1id-abstracts.html 

   The list of Internet-Draft Shadow Directories can be accessed 
   at http://www.ietf.org/shadow.html.  

   This Internet-Draft will expire on November 4, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   The iSCSI protocol, described in [RFC3720], allows for extension
   items to the protocol in the form of Private or Public Extension
   Keys.  This Internet-Draft describes a Public Extension Key for
   the purpose of enhancing iSCSI supportability.  The key
   accomplishes this objective by allowing iSCSI nodes to
   communicate architecture details during the iSCSI login
   sequence.  The receiving node can then use this information
   for enhanced logging and support.

Wysochanski              Expires November 4, 2006          [Page  1] 


Internet-Draft        iSCSI Node Architecture              July 2006

1.  Introduction

1.1  Terminology

   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].

1.2  Overview

   This Internet-Draft describes a declarative Public Extension
   Key as defined by section 12.22 of [RFC3720] that may be used to
   communicate additional iSCSI node information to the opposite
   node in a session.  The information carried in the described
   key has been found to be valuable in real iSCSI customer
   environments as initiator and target vendors collaborate to
   resolve technical issues and better understand the evolving
   iSCSI market.

   The key has been modeled after the "Server" and "User-Agent"
   header fields as specified in sections 14.38 and 14.43 of
   [RFC2616], with the text-value(s) of the key roughly equivalent
   to Product Tokens in section 3.8 of [RFC2616].  Note however
   that the text-value(s) in the keys list-of-values MUST conform
   to the Text Format as specified in section 5.1 of [RFC3720].

   The key is sent during the login phase of an iSCSI normal session.
   The intended use of this key is to provide enhanced logging and
   support capabilities, and to enable collection of iSCSI
   implementation and usage information.  The protocol logic of the
   iSCSI stack (SCSI, iSCSI, and TCP/IP protocols) MUST NOT depend
   on the presence, absence, or content of the key.  The key MUST NOT
   be used by iSCSI nodes for interoperability, or exclusion or
   deception of other nodes.  To ensure proper use, key values
   SHOULD be set by the node itself, and there SHOULD NOT be
   provisions for the key values to be modified by end users or
   system administrators.

Wysochanski              Expires November 4, 2006          [Page  2] 


Internet-Draft        iSCSI Node Architecture              July 2006

2.  Definition

   The definition of the key is as follows, with example list-of-values
   conforming to section 5.1 of [RFC3720].

X#NodeArchitecture

   Use: LO, Declarative
   Senders: Initiator and Target
   Scope: SW

   X#NodeArchitecture=<list-of-values>

   Examples:

      X#NodeArchitecture="Microsoft Software Initiator/1.05a,
                          Microsoft Windows/2003Build1489,
                          Microsoft Cluster Services/2.0,
                          CPU Architecture/x86_64"
      X#NodeArchitecture="Qlogic iSCSI 4010 Hardware Initiator/rev1,
                          Qlogic Firmware/2.0.0.5,
                          Qlogic Driver/2.0.0.1"
      X#NodeArchitecture="Linux iSCSI Software Initiator/4:0.1.11-3,
                          Red Hat Enterprise Linux/4u3,
                          Linux Kernel/2.6.9-34.26.ELsmp,
                          CPU Architecture/i686,
                          CPU Speed/3.06GHz,
                          Memory Size/4059364kB"
      X#NodeArchitecture="NetApp Software Target/7.1,
                          Data ONTAP/7.1,
                          NetApp FAS/270c"

   The initiator or target declares the details of its iSCSI node
   architecture to the remote endpoint.  These details may include,
   but are not limited to, iSCSI vendor software, firmware, or
   hardware versions, the OS version, or hardware architecture.

   X#NodeArchitecture MUST NOT be redeclared.

Wysochanski              Expires November 4, 2006          [Page  3] 


Internet-Draft        iSCSI Node Architecture              July 2006

3.  Security Considerations 

    This extension key transmits specific implementation details
    about the node that sends it; such details may be considered
    sensitive in some environments.  For example, if a certain
    software or firmware version is known to contain security
    weaknesses, announcing the presence of that version via this
    key may not be desirable.  The countermeasures for this
    security concern are:
        - sending less detailed information in the key values, or
        - not sending the extension key, or
        - using IPsec to provide confidentiality for the iSCSI
          connection on which the key is sent (see [RFC3720]
          and [RFC3723]).
    To support the first and second countermeasures, all
    implementations of this extension key SHOULD provide an 
    administrative mechanism to configure different levels of
    detail in the extension key values and MUST provide an
    administrative mechanism to disable sending the key.

    The choice of which countermeasure is most appropriate depends
    on the environment.  However, the first countermeasure may be
    acceptable in many environments, since it provides a compromise
    between sending too much information and the other more
    complete countermeasures of not sending the key at all or using
    IPsec.

    In addition to security considerations involving transmission of
    the key contents, any logging method(s) used for the key values
    MUST keep the information secure from intruders.  For all
    implementations, the requirements to address this security
    concern are:
	- display of the log MUST only be possible with administrative
	rights to the node
	- options to disable logging to disk and to keep logs for a
	fixed duration SHOULD be provided

    Finally, it is important to note that different nodes may have
    different levels of risk, and these differences may affect the
    implementation.  The components of risk include assets, threats,
    and vulnerabilities.  Consider the following example iSCSI nodes,
    which demonstrate differences in assets and vulnerabilities of
    the nodes, and as a result, differences in implementation:
        - One iSCSI target based on a special-purpose operating
	system.  Since the iSCSI target controls access to the data
	storage containing company assets, the asset level is seen
	as very high.  Also, because of the special-purpose 
	operating system, in which vulnerabilities are less 
	well-known, the vulnerability level is viewed as low.
	- Multiple iSCSI initiators in a blade farm, each running
	a general-purpose operating system.  The asset level of
	each node is viewed as low, since blades are replaceable
	and low cost.  However, the vulnerability level is viewed
	as high, since there are many well-known vulnerabilities
	to the general-purpose operating system.

    For the above target, an appropriate implementation might be
    logging of received key values, but no transmission of the key.
    For the initiators, an appropriate implementation might be
    transmission of the key, but no logging of received key values.  

Wysochanski              Expires November 4, 2006          [Page  4] 


Internet-Draft        iSCSI Node Architecture              July 2006

4.  IANA Considerations 

   This document defines the iSCSI Extension Key NodeArchitecture 
   to be registered in the IANA iSCSI extended key registry.

 

Wysochanski              Expires November 4, 2006          [Page  5] 


Internet-Draft        iSCSI Node Architecture              July 2006

5.  References

5.1  Normative References 

   [RFC2119] Bradner, S. "Key Words for use in RFCs to Indicate 
             Requirement Levels", BCP 14, RFC 2119, March 1997.  

   [RFC3720] Satran, J., Meth, K., Sapuntzakis, C., Chadalapaka, 
             M., and E. Zeidner, "Internet Small Computer Systems 
             Interface (iSCSI)", RFC 3720, April 2004. 

5.2  Informative References 

   [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
             Masinter, L., Leach, P., and T. Berners-Lee, 
             "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616,
             June 1999.

   [RFC3723] Adoba, B., Tseng, J., Walker, J., Rangan, V., and
             Travostino, F., "Securing Block Storage Protocols
             over IP", RFC 3723, April 2004.

 

Wysochanski              Expires November 4, 2006          [Page  6] 


Internet-Draft        iSCSI Node Architecture              July 2006

6.  Author's Address 

   Dave Wysochanski
   Network Appliance, Inc.
   7301 Kit Creek Road
   P. O. Box 13917
   Research Triangle, NC 27709
   Phone: +1-919-476-5628
   E-mail: davidw <at> netapp.com

 

Wysochanski              Expires November 4, 2006          [Page  7] 


Internet-Draft        iSCSI Node Architecture              July 2006

7.  Acknowledgements 

   The IP Storage (ips) Working Group in the Transport Area of 
   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 
   issues and/or suggesting resolutions to the issues found in this
   document: David Black, Mallikarjun Chadalapaka, Paul Koning,
   Julian Satran, John Hufferd, Claire Kraft, Ranga Sankar,
   Joseph Pittman, Greg Berg, John Forte, and Jim Yuill. This
   document benefited from all these contributions. 

 

Wysochanski              Expires November 4, 2006          [Page  8] 


Internet-Draft        iSCSI Node Architecture              July 2006

8.  Full Copyright Statement 

   Copyright (C) The Internet Society (2006).  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 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. 

 

Wysochanski              Expires November 4, 2006          [Page  9] 


Internet-Draft        iSCSI Node Architecture              July 2006

9.  Intellectual Property Statement  

   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 <at> ietf.org.  

 

Wysochanski              Expires November 4, 2006          [Page 10] 


_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
Eddy Quicksall | 9 Jul 2006 19:35
Picon

Re: Receiving a SCSI response after abort task was sent

Wasn't Bob talking about technologies other than iSCSI?
 
Bob, are you sure? Do you have an example of such a technology?
 
I would think it would be dangerous for a technology to allow a SCSI response to be received after the TMF response has been received for the same command. My reasoning is that once the initiator has received the TMF response it can reuse the ITT. In that case if the SCSI response for the aborted command comes after the TMF response for the same command but a new command has already used the same ITT, then there would be no way to determine that the response should be discarded.
 
Eddy
----- Original Message -----
Sent: Wednesday, July 05, 2006 1:47 PM
Subject: Re: [Ips] Receiving a SCSI response after abort task was sent

On Jul 3, 2006, at 10:18 AM, Robert Snively wrote:

With one minor warning, I agree with David.
 
Warning below:

> Is the host that issued the abort task willing to receive a SCSI response for that task?
> Is it willing to receive only a task management response for the abort task?
 
Yes and No in that order, the SCSI response is possible and must be
handled.  There will always be a task management response, independent
of whether the SCSI response is issued.  One important rule is that
the SCSI response cannot occur *after* the task management response. 
 
In some technologies and under some conditions, it is hypothetically possible for a SCSI
response to appear at an initiator after the task management response.  In such environments, this will
be detected as a SCSI response for which there is no SCSI request and it will be discarded. 
Since TCP/IP forces in-order behavior on the SCSI stream, and since the abort task is
normally sent through the same stream as the command, this normally may be ignored
by iSCSI.

I don't think this is a concern, because the ABORT TASK MUST be on the same connection (section 10.5.1, page 131 of RFC 3720) as the command in question. Thus StatSN numbering for the two is in the same number space. The SCSI response should have a lower StatSN than the TMF response as StatSN is the only real way to determine what is "before" or "after", and we are talking about the case where the task finished "before" the abort.

So as the initiator processes StatSN responses, it will see the SCSI response "before" the TMF response.

As long as any other iSCSI transport (other than TCP) retains StatSN, this will work right.

Take care,

Bill

_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
Eddy Quicksall | 9 Jul 2006 20:15
Picon

Re: target/initiator device

Thanks, my error. I re-read it and it does not require the target and initiator ports to have identical names.
----- Original Message -----
Sent: Saturday, July 02, 2005 3:26 AM
Subject: Re: [Ips] target/initiator device


Eddy,

Bassically iSCSI is using SAM2 as reference. However the name types for iSCSI initiator and target are not different.
And since SAM3 has separate initiator port and target port in a combined device the same iSCSI name CAN be used for naming both ports using the iSCSI naming conventions for ports.

Julo


"Eddy Quicksall" <eddy_quicksall_iVivity_iSCSI <at> comcast.net>
Sent by: ips-bounces <at> ietf.org

01/07/2005 21:43

To
<ips <at> ietf.org>
cc
Subject
[Ips] target/initiator device





How does iSCSI work as a target/initiator device? i.e., iSCSI has different types of names for the initiator and target names but paragraph 4.7.3 in SAM 3 appears to need a common name between the two.
 
Eddy_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips

_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
Julian Satran | 10 Jul 2006 18:19
Picon
Favicon

Re: Receiving a SCSI response after abort task was sent


Eddy,

I don't think was talking about iSCSI (where it should not happen). But SCSI was defined for a variety of technologies some which do not have ordered and reliable transport. If you take technologies that have a "link-by-link" error recovery (such as PCI express) and include some switches in the "pot" this may definitely happen. So it is wise to be prepared for it.

Regards,
Julo


"Eddy Quicksall" <eddy_quicksall_iVivity_iSCSI <at> Comcast.net>

09/07/06 13:35

To
"William Studenmund" <wrstuden <at> wasabisystems.com>, "Robert Snively" <rsnively <at> Brocade.COM>
cc
ips <at> ietf.org, Black_David <at> emc.com
Subject
Re: [Ips] Receiving a SCSI response after abort task was sent





Wasn't Bob talking about technologies other than iSCSI?
 
Bob, are you sure? Do you have an example of such a technology?
 
I would think it would be dangerous for a technology to allow a SCSI response to be received after the TMF response has been received for the same command. My reasoning is that once the initiator has received the TMF response it can reuse the ITT. In that case if the SCSI response for the aborted command comes after the TMF response for the same command but a new command has already used the same ITT, then there would be no way to determine that the response should be discarded.
 
Eddy
----- Original Message -----
From: William Studenmund
To: Robert Snively
Cc: ips <at> ietf.org ; Black_David <at> emc.com
Sent: Wednesday, July 05, 2006 1:47 PM
Subject: Re: [Ips] Receiving a SCSI response after abort task was sent

On Jul 3, 2006, at 10:18 AM, Robert Snively wrote:

With one minor warning, I agree with David.
 
Warning below:

> Is the host that issued the abort task willing to receive a SCSI response for that task?
> Is it willing to receive only a task management response for the abort task?
 
Yes and No in that order, the SCSI response is possible and must be
handled.  There will always be a task management response, independent
of whether the SCSI response is issued.  One important rule is that
the SCSI response cannot occur *after* the task management response.
 
In some technologies and under some conditions, it is hypothetically possible for a SCSI
response to appear at an initiator after the task management response.  In such environments, this will
be detected as a SCSI response for which there is no SCSI request and it will be discarded.
Since TCP/IP forces in-order behavior on the SCSI stream, and since the abort task is
normally sent through the same stream as the command, this normally may be ignored
by iSCSI.

I don't think this is a concern, because the ABORT TASK MUST be on the same connection (section 10.5.1, page 131 of RFC 3720) as the command in question. Thus StatSN numbering for the two is in the same number space. The SCSI response should have a lower StatSN than the TMF response as StatSN is the only real way to determine what is "before" or "after", and we are talking about the case where the task finished "before" the abort.

So as the initiator processes StatSN responses, it will see the SCSI response "before" the TMF response.

As long as any other iSCSI transport (other than TCP) retains StatSN, this will work right.

Take care,

Bill

_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips

_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips
Robert Snively | 10 Jul 2006 19:53
Favicon

RE: Receiving a SCSI response after abort task was sent

Eddy,
 
Julian has shown you one example.
 
A second example is in some Fibre Channel environments, where in-order
delivery is optional.  In those cases, the rules say that you shall not re-use
the fully qualified exchange identifier until a timeout has passed that guarantees
that all possible responses have either been discarded in the network or
received (and discarded) by the initiator.
 
Of course, any technology may have a target failure that generates a
response for a command that either no longer exists or has never existed.
That should not confuse anyone and certainly should not bring down an
initiator.  Be forgiving, and accept the unexpected response and discard it.
You may choose to post a notice to some upper programming level, but
the system should not crash or create operational problems for other
targets.
 
Bob

From: Julian Satran [mailto:Julian_Satran <at> il.ibm.com]
Sent: Monday, July 10, 2006 9:19 AM
To: Eddy Quicksall
Cc: Black_David <at> emc.com; ips <at> ietf.org; Robert Snively; William Studenmund
Subject: Re: [Ips] Receiving a SCSI response after abort task was sent


Eddy,

I don't think was talking about iSCSI (where it should not happen). But SCSI was defined for a variety of technologies some which do not have ordered and reliable transport. If you take technologies that have a "link-by-link" error recovery (such as PCI express) and include some switches in the "pot" this may definitely happen. So it is wise to be prepared for it.

Regards,
Julo


"Eddy Quicksall" <eddy_quicksall_iVivity_iSCSI <at> Comcast.net>

09/07/06 13:35

To
"William Studenmund" <wrstuden <at> wasabisystems.com>, "Robert Snively" <rsnively <at> Brocade.COM>
cc
ips <at> ietf.org, Black_David <at> emc.com
Subject
Re: [Ips] Receiving a SCSI response after abort task was sent





Wasn't Bob talking about technologies other than iSCSI?
 
Bob, are you sure? Do you have an example of such a technology?
 
I would think it would be dangerous for a technology to allow a SCSI response to be received after the TMF response has been received for the same command. My reasoning is that once the initiator has received the TMF response it can reuse the ITT. In that case if the SCSI response for the aborted command comes after the TMF response for the same command but a new command has already used the same ITT, then there would be no way to determine that the response should be discarded.
 
Eddy
----- Original Message -----
From: William Studenmund
To: Robert Snively
Cc: ips <at> ietf.org ; Black_David <at> emc.com
Sent: Wednesday, July 05, 2006 1:47 PM
Subject: Re: [Ips] Receiving a SCSI response after abort task was sent

On Jul 3, 2006, at 10:18 AM, Robert Snively wrote:

With one minor warning, I agree with David.
 
Warning below:

> Is the host that issued the abort task willing to receive a SCSI response for that task?
> Is it willing to receive only a task management response for the abort task?
 
Yes and No in that order, the SCSI response is possible and must be
handled.  There will always be a task management response, independent
of whether the SCSI response is issued.  One important rule is that
the SCSI response cannot occur *after* the task management response.
 
In some technologies and under some conditions, it is hypothetically possible for a SCSI
response to appear at an initiator after the task management response.  In such environments, this will
be detected as a SCSI response for which there is no SCSI request and it will be discarded.
Since TCP/IP forces in-order behavior on the SCSI stream, and since the abort task is
normally sent through the same stream as the command, this normally may be ignored
by iSCSI.

I don't think this is a concern, because the ABORT TASK MUST be on the same connection (section 10.5.1, page 131 of RFC 3720) as the command in question. Thus StatSN numbering for the two is in the same number space. The SCSI response should have a lower StatSN than the TMF response as StatSN is the only real way to determine what is "before" or "after", and we are talking about the case where the task finished "before" the abort.

So as the initiator processes StatSN responses, it will see the SCSI response "before" the TMF response.

As long as any other iSCSI transport (other than TCP) retains StatSN, this will work right.

Take care,

Bill

_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips

_______________________________________________
Ips mailing list
Ips <at> ietf.org
https://www1.ietf.org/mailman/listinfo/ips

Gmane