Subject: BHS inconsistency

From: [email-masked]
Date: Wed, 20 Feb 2002 11:49:57 -0700

Julian,

There is an inconsistency in draft 10 between the definition of the Basic
Header Segment in 10.2.1 and the sections defining PDU format for specific
opcodes. 

10.2.1 says "The Opcode, TotalAHSLength, and DataSegmentLength fields appear
in all iSCSI PDUs."

However, for most opcodes, the location of TotalAHSLength is marked
reserved. For some opcodes such as Task Management Function Request and
Response and R2T, both length fields are marked reserved.

If these fields are reserved, then the Opcode would have to be interpreted
inorder to perform operations handling the PDU such as putting headers and
data portion into buffers or finding the start of the following PDU because
a receiver is required to ignore the contents of reserved fields. This is an
unnecessary complication of the initial PDU processing in the receiver. 

The draft should be made consistant with 10.2.1 by marking the fields as
TotalAHSLength and DataSegmentLength for all opcodes. For opcodes that
cannot carry an AHS or a data segment, there can be a statement
"TotalAHSLength MUST be 0x00." or "TotalAHSLength MUST be 0x000000."

This allows the receiver to use the fields to locate PDU boundaries
regardless of opcode. 

Regards,
Pat