Subject: Re: [Ips] iSCSI: clarification? data-in PDU->command status bit

From: William Studenmund <[email-masked]>
Date: Fri, 2 Apr 2004 13:51:06 -0800

On Apr 2, 2004, at 12:01 PM, Luben Tuikov wrote:

> --- William Studenmund <[email-masked]> wrote:
>>
>> I believe you (and a few others) missed the point of misunderstanding.
>> The misunderstanding I was referring to was not that you can't send
>> status twice, it was that you can't send a SCSI Command Response
>> PDU that doesn't carry status;
>> sending status is the sole purpose of the PDU.
>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> I believe that this statement (underlined above) is pretty clear to
> everyone, or at least it _should_ be pretty clear to an engineer.
> I don't think an _engineer_ can miss it.

I actually just reviewed the spec, and it can be missed. It's never
spelled out. It's strongly inferred, but it's never stated (that there
is no reason for the PDU without status).

> I think this thread didn't start with this misunderstanding. I believe 
> it
> started with the fact that a broken target sent SCSI status twice, 1st 
> as
> part of READ and 2nd as part of SCSI Response.

I agree that we are talking about a target that sent status as part
of a READ and then sent a SCSI Response. However the initial
part of this thread indicated to me that the confusion was about what
the SCSI Response PDU was (not) needed for. If the confusion
had been that status was being sent twice, then all of the references
to SAM would have cleared things up immediately.

>> Thus once you've sent status, the PDU is neither needed
>> nor appropriate. As the SCSI Command Response PDU is an iSCSI
>> concept, no amount of reference to SAM-2 will help the situation.
>
> Returning status and response _is_ a SAM thing.  iSCSI as an 
> interconnect
> has to accomodate it and stipulate how it implements it.
>
> The reference in SAM-2 is 5.1 Service Response, and 5.3.1 Status, those
> are exactly iSCSI 10.4.2 and 10.4.3.
>
> The iSCSI reference is 3.2, first paragraph, 3.1 second last paragraph 
> and
> 3.5.1.2 SCSI Response for exact mapping and of course 10.4 SCSI 
> Response.
>
> Also it is important to understand _why_ "once you've sent status,
> the PDU is neither needed nor appropriate".

I agree. I see two reasons. One is the SCSI requirement that you send
status once, which I think the spec states clearly now. The other is 
that
the PDU has no use other than SCSI status. That is what I'm wanting
more emphasis on.

>> To be honest, I am puzzled as to why this argument has gone on so 
>> long.
>
> I agree, it should've ended immediately as "broken implementation of
> a target -- tell them to fix it".

See below.

> I think that most of those misunderstandings are due to ppl not paying
> enough attention or not reading the whole spec.  Some of them just read
> the PDU description and off they go implementing iSCSI.

>> This misunderstanding made it into code that was put up for interop
>> testing. The other side of the interop testing didn't feel 
>> sufficiently
>> bolstered as to just quote a section number to resolve the issue. When
>> raised on this list, a number of us said, "Yes, that can be made
>> better."
>> We are (or were earlier this week) in a period when such small,
>> clarifying
>> changes are appropriate. So why not make it better?
>
> I really don't see why whenever someone implements a buggy iSCSI
> Target/Initiator, it is immediately the fault of the iSCSI spec. In 
> fact
> I contend that 99.9% if the time it's the other way around.

You're the second person to use the word, "fault," in reference to
this thread. Why?

I don't think it's the iSCSI spec's "fault" that this happened, I just 
am
able to see where someone might get a different impression of what
the spec is saying than what it really meant.

So why can't we just decide, "this change will make the text clearer,"
and do it? Assuming we're still in a window when Julian is able to
make editorial changes.

Take care,

Bill

---

From: [email-masked]
Date: Fri, 2 Apr 2004 11:55:32 -0500

> Adding a "MUST" will make things clear.

This will be done.  Thanks, --David (with WG chair hat on).

----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
[email-masked]        Mobile: +1 (978) 394-7754
----------------------------------------------------

> -----Original Message-----
> From: William Studenmund [mailto:[email-masked]] 
> Sent: Wednesday, March 31, 2004 5:00 PM
> To: Julian Satran
> Cc: [email-masked]; [email-masked]; [email-masked]
> Subject: Re: [Ips] iSCSI: clarification? data-in PDU->command 
> status bit
> 
> 
> On Mar 31, 2004, at 9:33 AM, Julian Satran wrote:
> 
> 
> > read the errata - julo
> 
> Uhm, Julian, this whole thread has been in response to the errata. I
> fail to see how "read the errata" will change my mind.
> 
> "If Status is sent with the data it MUST not be sent again  
> with a SCSI
> Response PDU as this would violate SCSI rules (a single ...."
> 
> David's concern is confusion over "with  a SCSI Response PDU". You
> (and I and DLB and most of the folks on the list) know that means you
> don't send a PDU; you just removed the need. A few people new to
> the spec, though, seem to think you still need to send the SCSI
> Response PDU, just that it isn't carrying SCSI status. Or 
> something like
> that.
> 
> Adding a "MUST" will make things clear.
> 
> I'd suggest (if we can still make the change) something like:
> 
> "If Status is sent with the data it MUST not be sent again (SCSI
> Response PDU MUST not be sent) as this would violate SCSI
> rules (a single ...."
> 
> Take care,
> 
> Bill
> 

_______________________________________________
Ips mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ips