Subject: Re: DataSegmentLength of 0

From: [email-masked]
Date: Sun, 17 Jun 2001 14:03:38 +0300

Barry,

OK - it reads:

1.1.1     DataSegmentLength

   This is the data payload length of a SCSI Data-In or SCSI Data-Out PDU;
   sending of 0 length data segments should be avoided, but initiators and
   targets must be able to properly receive 0 length data segments.

   Regards,
   Julo

"Barry Reinhold" <[email-masked]> on 07-06-2001 17:06:19

Please respond to "Barry Reinhold" <[email-masked]>

To:   Julian Satran/Haifa/IBM@IBMIL
cc:   "Jon Sreekanth" <[email-masked]>, "James Smart"
      <[email-masked]>
Subject:  DataSegmentLength of 0

Julian,
Clause 2.7.6, DataSegmentLength,

States the following:

   "This is the data payload length of a SCSI Data-In or SCSI Data-Out
   PDU; sending of 0 length data segments should be avoided."

For devices that are going to act as protocol translators between Fibre
Channel and iSCSI it is going to be just about impossible not to send a
data
segment length of 0 if we get an underrun condition. (This happens on
inquery responses. From the Fibre Channel side there is no way to tell that
the data has been sent until you get a FCP_RSP. At this point the iSCSI
data
frames have already been sent with all the data, but the F bit still needs
to be set. The translating device therefore needs to send a frame with a 0
length data segment and the F bit set.)  Hence, I suspect almost all
devices
that are not acting as end points to IO operations will have this problem
and you will see iSCSI data frames with the F bit set and the 0 length data
segments. I agree that we don't want to send 0 length segments, but I do
think we need to be able to handle them if they are generated.

In order to make people aware of the need to handle 0 length frames I was
looking for wording changes to the spec along these lines:

     "This is the data payload length of a SCSI Data-In or SCSI Data_Out
PDU;
sending of 0 length data segments should be avoided, but devices must be
able to properly receive 0 length data segments."

In this way it makes it clear that reception of 0 length data segments is
required (which I think was the intent) and devices will be more likely to
interoperate.
Barry Reinhold
Principal Architect
Trebia Networks
[email-masked]
603-868-5144/603-659-0885/978-929-0830 x138

---

From: "Eddy Quicksall" <[email-masked]>
Date: Sun, 17 Jun 2001 12:21:36 -0400

Then why say "avoided"?  Saying "avoided" simply adds to confusion because
one does not know why you said it. An explanation would be in order if it
really should be avoided under some circumstances. I would prefer that the
"avoided" part is removed.

Eddy