[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CDB/PDU inconsistencies and residual counts
- To: "Julian Satran" <Julian_Satran@il.ibm.com>
- Subject: CDB/PDU inconsistencies and residual counts
- From: "Dean Scoville" <dean.scoville@qlogic.com>
- Date: Tue, 22 Jul 2003 09:43:23 -0700
- Cc: <ips@ece.cmu.edu>
- content-class: urn:content-classes:message
- Content-Type: multipart/alternative;boundary="----_=_NextPart_001_01C35070.5DA59691"
- Delivered-To: ips-outgoing@sos.ece.cmu.edu
- Delivered-To: ips-outgoing@ece.cmu.edu
- Delivered-To: ips@sos.ece.cmu.edu
- Delivered-To: ips@ece.cmu.edu
- Sender: owner-ips@ece.cmu.edu
- Thread-Index: AcNQcGejqNCknLxREdeLgQBQ2thomQ==
- Thread-Topic: CDB/PDU inconsistencies and residual counts
Title: CDB/PDU inconsistencies and residual counts
Julian,
The overflow/underflow and residual count values in Data-in and
SCSI Response PDUs are set by the target based on the expected
transfer length for the command, but should these values be set based
on the CDB (SCSI layer) or based on the PDU "expected data transfer length"
field (iSCSI layer)?
For example, suppose an initiator sends a 4 block SCSI Read command
but for some reason thinks the block size is 1024 bytes when in actuality
the disk has 512 byte blocks. The SCSI Command PDU would have an
"expected data transfer length" of value of 4096 bytes, but the target would
actually return 2048 bytes (based on the true block size). Should the target
set the underflow bit and return a residual count (based on the iSCSI PDU),
or should it return no underflow and no residual count (based on the SCSI CDB)?
The question comes up because I was running some iSCSI protocol test
scripts where the PDU "expected transfer length" and the transfer length
in the CDB were inconsistent in one of the scripts.
Another example would be if the "allocation length" field in the CDB for
an Inquiry command doesn't match the "expected data transfer length" field
in the SCSI Command PDU.
The script was in error and should be fixed, is there a desired target
behavior in such situations, given that the CDB fields are not typically parsed
by the iSCSI layer, the SCSI device may know nothing about iSCSI PDUs,
and some middle-layer may or may not know about both.
If the initiator detects that an underflow has occurred, based solely on the
amount of data received and the "expected data transfer field" in the iSCSI PDU,
but the target did not report an underflow or residual count in the SCSI response,
is the initiator allowed/expected to report an underflow to the upper layers?
Thanks,
Dean Scoville
Home
Last updated: Tue Aug 05 12:46:11 2003
12771 messages in chronological order
|