Subject: Re: iSCSI: header digest error at initiator

From: [email-masked]
Date: Thu, 18 Jan 2001 23:32:41 +0200

Santosh,

In the SCSI world there is no scoreboarding at the initiator.

The whole operation is master-slave with the target being the master.
The status, counters etc. are determined by the target and the initiator
has propagate them to the application client.

Julo

Santosh Rao <[email-masked]> on 16/01/2001 22:42:47

Please respond to Santosh Rao <[email-masked]>

To:   IPS Reflector <[email-masked]>
cc:
Subject:  Re: iSCSI: header digest error at initiator

Matt,

My replies inline.

Regards,
Santosh

Matt Wakeley wrote:

> Santosh Rao wrote:
> >
> > If this is the intention of the recommended error recovery, it is the
> > result of not allowing score-boarding. By score-boarding an initiator
> > would detect an underrun and would just error the affected I/O back.
>
> Two comments here.  First, in your example, the initiator is inventing an
> error that really didn't occur in the target.  The target completed the
I/O
> successfully, it was the transport that experienced an error, but you're
> treating it like a target error.

The LLP (initiator) would return an error to ULP indicating a transport
error
(service response of "service delivery or target failure") occurred. [due
to the
data underrun.]

> Second, you say that initiators and targets routinely perform
scoreboarding.
> How is this done today?  Buffer(s) are provided to an I/O chip.  The I/O
chip
> writes the data into the buffers.  It does not have the memory to
determine
> that each and every byte has been written to. So how is the
initiator/target
> supposed to be absolutely sure that every byte was written to?

The initiator would use a check along the following lines  :

(total bytes xfer'ed as indicated by the chip ) =
(no. of bytes of data xfer specified by ULP) - (resid reported by the
target in
SCSI Response PDU).

to verify that all the data the target sent is accounted for at the
initiator
end.

---

From: Santosh Rao <[email-masked]>
Date: Thu, 18 Jan 2001 15:01:39 -0800

Julian,

I think Matt clarified earlier that the operation I was referring to is not
score-boarding. I was referring to a check along the following lines to verify
if there was I/O underrun :

This is a standard check in an un-reliable scsi transport protocol like FC.
One can argue that it is not required with reliable SCSI transports like
iSCSI. More importantly, if iSCSI allows overlapping data transfers (which is
the case, unlike FC), this type of operation is not possible, as doug pointed
out.

Thanks All.

Regards,
Santosh