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.