Subject: iscsi: comments to iSCSI rev 6

From: "Matt Wakeley" <[email-masked]>
Date: Mon, 30 Apr 2001 17:53:24 -0700

Section 2.2.3:

The AHSLength field where it is requires RISC type processors to shift the
length left by 8 bytes.

Section 2.3.5, 3rd paragraph: contradicts itself.  First it states that a AHS
header "MUST" be present, then goes on to define what the bi-di read length is
if the header is not present.  If it's not present, it's a protocol error.

Section 2.4.1, last sentance: "b0-b3 MUST be 0" s/b "b1-b4 MUST be 0".

Section 2.7.7: why have residual bits/fields in a data PDU?  If there is
residual, then send a status PDU indicating the residual value.

Section 2.8.3: Keys not understood by the target should be expicitely
indicated as not being understood.  Silence is not a good way to indicate that
one does not understand something.  Also, something more ascii friendly such
as a semi-colon (;) should be used to separate key-value pairs instead of a
null (0x00) character.  This would allow generic text manipulation libraries
to be used.

Section 2.9.3: why "MUST" key-value pairs be returned in the same order they
were issued?  Seems like a rather strong requirement for no apparent reason.

Section 2.12.3: indicate that the LUN is copied from the NOP-IN.  This is much
more clear than "the correct value for the task".

Section 2.14: Why is there no CmdSN for the logout command?  Also, 2 ways of
performing the same operation (cleaning up) are stated in the 3rd paragraph. 
In the interest of reducing "options", I suggest that one be picked as the
only method.

Section 2.17.4: "The target assigns" should be "The target may assign".

Section 6.3 & 6.7.2: why "MUST" a target reissue missing responses?  What if
it is not able to?  There should be the option to reject the SNACK.

Appendix: "Initial Marker-less Interval" - I say again, there should not be a
"minimum markerless interval".  This should be whatever is negotiated.

-Matt Wakeley
Agilent Technologies