From: "Elliott, Robert (Server Storage)" <Elliott@hp.com>
To: "t10@t10.org" <t10@t10.org>
Date: Mon, 28 Jan 2008 02:48:11 +0000
Subject: RE: SMP frame - issue with maximum number of valid data bytes
X-Message-Number: 8484
Formatted message: HTML-formatted message

We don't really use "fill bytes" in SMP, since the request and response
frames are always defined as containing structures that are multiples of 4
bytes.	The only one that does not do so is the ZONED BROADCAST request, but
it already defines a "PAD" field on its own to round up to a multiple of 4
bytes.
Removing the "fill bytes" concept would be a good letter ballot comment on
sas2r14.
--
Rob Elliott, elliott@hp.com
Hewlett-Packard Industry Standard Server Storage Advanced Technology
________________________________
From: owner-t10@t10.org [mailto:owner-t10@t10.org] On Behalf Of Rich Deglin
Sent: Thursday, January 24, 2008 7:32 PM
To: t10@t10.org
Subject: SMP frame - issue with maximum number of valid data bytes
SAS 2 (r13) section 9.4.3, I think, clearly shows that a maximum length SMP
RESPONSE frame consists of the following:
1 byte FRAME TYPE
1024 bytes RESPONSE BYTES
3 fill bytes
4 bytes CRC
In my reading of this section, this means that an SMP RESPONSE frame with a
maximum length RESPONSE BYTES field has NO MORE THAN 1025 valid data bytes
plus 3 fill bytes plus 4 CRC bytes = 1032 total bytes. The "header" mentioned
in section 10.4.3.2 is not shown here.
Section 10.4.3.2 conflicts with this. It states that a maximum length SMP
RESPONSE frame consists of the following:
1 byte FRAME TYPE
1 byte FUNCTION
1 byte FUNCTION RESULT
1 byte RESPONSE LENGTH
1024 bytes RESPONSE BYTES
0 fill bytes
4 bytes CRC
In my reading of this section, this means that an SMP RESPONSE frame with a
maximum length RESPONSE BYTES field has EXACTLY 1028 valid data bytes plus 0
fill bytes plus 4 CRC bytes = 1032 total bytes. A 4 byte "header" is
mentioned in the text of this section but is not explicitly defined, which I
would contend is an oversight in the document.
The SMP REQUEST frame descriptions demonstrate the same issue.
Please explain the apparent conflict. If there is a real problem here in the
spec, is a proposal necessary to correct it?
Also note that the same issues exist in the SAS 1.1 spec, but I am guessing
that no problems occurred in practice, due to the fact that the lengths of
the SAS 1.1 defined SMP REQUESTs and RESPONSEs do not get anywhere near the
limits.