RE: iSCSI CRC considerations

"Douglas Otis" <dotis@sanlight.net> Tue, 27 February 2001 00:55 UTC

Received: from ece.cmu.edu (ECE.CMU.EDU [128.2.236.200]) by ietf.org (8.9.1a/8.9.1a) with SMTP id TAA07336 for <ips-archive@odin.ietf.org>; Mon, 26 Feb 2001 19:55:52 -0500 (EST)
Received: (from majordom@localhost) by ece.cmu.edu (8.11.0/8.10.2) id f1QMkUV13419 for ips-outgoing; Mon, 26 Feb 2001 17:46:30 -0500 (EST)
X-Authentication-Warning: ece.cmu.edu: majordom set sender to owner-ips@ece.cmu.edu using -f
Received: from gateway.sanlight.org (adsl-63-202-160-80.dsl.snfc21.pacbell.net [63.202.160.80]) by ece.cmu.edu (8.11.0/8.10.2) with ESMTP id f1QMk1113375 for <ips@ece.cmu.edu>; Mon, 26 Feb 2001 17:46:02 -0500 (EST)
Received: from ljoy ([10.0.0.18]) by gateway.sanlight.org (8.11.0/8.11.0) with SMTP id f1QNtZ028171; Mon, 26 Feb 2001 15:55:35 -0800 (PST) (envelope-from dotis@sanlight.net)
From: Douglas Otis <dotis@sanlight.net>
To: julian_satran@il.ibm.com, ips@ece.cmu.edu
Cc: Dafna_Sheinwald@il.ibm.com
Subject: RE: iSCSI CRC considerations
Date: Mon, 26 Feb 2001 14:44:30 -0800
Message-ID: <NEBBJGDMMLHHCIKHGBEJKEAHCFAA.dotis@sanlight.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0)
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Importance: Normal
In-Reply-To: <C12569FF.006B0913.00@d12mta02.de.ibm.com>
Sender: owner-ips@ece.cmu.edu
Precedence: bulk
Content-Transfer-Encoding: 7bit

Julian,

Page 14:
   "Adler [RFC1150] demands the expensive modulo operation with a very
   large prime, for the processing of each byte, or some test to
   indicate the necessity in that operation. Fletcher [FITS] only
   demands an addition, and can work on 16-bit at a time."

Correction not RFC-1150 but these RFCs reference use of Adler-32: RFC-1950,
RFC-1951, RFC-1952, RFC-1979, RFC-2394, RFC-2960.

Your description of Adler-32 is incorrect with respect to implementation.

#define BASE 65521
...
     s1 += *buf++;
     if (s1 >= BASE)
         s1 -= BASE;
     s2 += s1;
     if (s2 >= BASE)
         s2 -= BASE;
...

This can be done with without table lookup and the speed of calculation is
faster than CRC.  There is NO expensive modulo instruction for Adler-32.

Doug