ADI - Suggested checksum text for ADT

Erich R. Oetting oettier at
Tue Feb 25 12:19:54 PST 2003

* From the T10 Reflector (t10 at, posted by:
* "Erich R. Oetting" <oettier at>
>From what I understand, ADT needs a checksum mostly to catch gross errors.  The 
transport layer should be fairly robust.  A simple bitwise parity over the 
entire frame should do the job.  It should also be easy to implement in software 
or hardware.  In earlier meetings, we decided not to use a CRC.

An XOR of all header and payload bytes has the disadvantage of making all zeros 
with a zero checksum a valid packet.  To avoid this I added one more term, in 
effect changing even parity to odd parity.

The following words can be dropped into ADT rev 2:


6.4 Checksum

The CHECKSUM field shall be one byte.  The value of this field shall be the XOR 
of the following bytes:
  a) all bytes in the ADT header field,
  b) all bytes (if any) in the ADT payload field,
  c) one byte of value 0xff.
The CHECKSUM value shall be calculated before the encoding operation specified 
in 6.2.


We might consider adding a note stating that the XOR of all header byte, packet 
bytes and the checksum byte should be 0xff.

  ... Erich Oetting
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list