Subject: iSCSI Requirements Draft - Informal WG Last Call

From: [email-masked]
Date: Thu, 12 Apr 2001 03:53:28 -0400

It is intended to submit draft-ietf-ips-iscsi-reqmts-02.txt
as an Informational RFC. There is no formal requirement for
a WG Last Call, but if you have any further substantive comments
on the document please raise them on this list within the next
two weeks, i.e. by April 27th at the latest.

If you have typographical/editorial comments please send them
direct to the document's author, Marjorie Krueger
<[email-masked]>.

Thanks,
--David and Elizabeth, IPS WG co-chairs

---

From: Santosh Rao <[email-masked]>
Date: Thu, 12 Apr 2001 18:33:45 -0700

David & All,

I object to the following requirement :

" MUST support ordered delivery of SCSI commands from the initiator to
the 
  target, to support SCSI Task Queuing. "

Ordered delivery is not a requirement for disk based applications and
non tagged queueing tape applications, which form the majority of
today's data traffic. 

To impose strict ordering (even in the presence of errors ?) as a MUST
is penalizing the majority of today's data traffic that does not expect
ordering from the SCSI subsystem.

I am particularly concerned about the effect of the above requirement in
the presence of errors. Does iSCSI expect strict ordering to be
maintained even when individual I/O errors like ULP timeout occur ? 

On a ULP timeout (caused by, say, a hole in CmdSN), the initiator may
choose not to retry the command, but instead, error it back to the ULP.
In such a case, it can plug the hole in CmdSN with a NOP-OUT.

The above requirement is not feasible to be met under such circumstances
and others similar to this. Mandating strict ordering on ULP timeouts
implies a session level error recovery on any individual I/O being
failed back from iSCSI to SCSI ULP. This is a very heavy hammer to use
as error recovery and should not be imposed.

The above requirement must be changed to :
" SHOULD support ordered delivery of SCSI commands from the initiator to
the 
  target, to support SCSI Task Queuing. "

- Santosh