RE: [Tsvwg] sctp error check

"Douglas Otis" <dotis@sanlight.net> Fri, 31 August 2001 17:01 UTC

Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id NAA10433 for <tsvwg-archive@odin.ietf.org>; Fri, 31 Aug 2001 13:01:58 -0400 (EDT)
Received: from optimus.ietf.org (localhost [127.0.0.1]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id MAA19088; Fri, 31 Aug 2001 12:57:06 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id MAA19059 for <tsvwg@ns.ietf.org>; Fri, 31 Aug 2001 12:57:04 -0400 (EDT)
Received: from c007.snv.cp.net (c007-h012.c007.snv.cp.net [209.228.33.219]) by ietf.org (8.9.1a/8.9.1a) with SMTP id MAA10213 for <tsvwg@ietf.org>; Fri, 31 Aug 2001 12:55:43 -0400 (EDT)
Received: (cpmta 4373 invoked from network); 31 Aug 2001 09:56:33 -0700
Received: from unknown (HELO littlejoy) (64.130.130.105) by smtp.telocity.com (209.228.33.219) with SMTP; 31 Aug 2001 09:56:33 -0700
X-Sent: 31 Aug 2001 16:56:33 GMT
From: Douglas Otis <dotis@sanlight.net>
To: Randall Stewart <randall@stewart.chicago.il.us>
Cc: Lyndon Ong <lyndon_ong@eudoramail.com>, Andreas Jungmaier <ajung@exp-math.uni-essen.de>, TSVWG Liste <tsvwg@ietf.org>
Subject: RE: [Tsvwg] sctp error check
Date: Fri, 31 Aug 2001 09:54:45 -0700
Message-ID: <NEBBJGDMMLHHCIKHGBEJKEPFCKAA.dotis@sanlight.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
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)
Importance: Normal
In-Reply-To: <3B8F8A7B.E7B57C45@stewart.chicago.il.us>
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Content-Transfer-Encoding: 7bit
Sender: tsvwg-admin@ietf.org
Errors-To: tsvwg-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: Transport Area Working Group <tsvwg.ietf.org>
X-BeenThere: tsvwg@ietf.org
Content-Transfer-Encoding: 7bit

Randall,

I do not think I was clear about the inverted store and the reflected
results.  The CRC algorithm for Ethernet does a unitary inversion of the CRC
results before storing.  With the CRC being placed in the header, it is my
understanding reasons for doing such an inversion is removed by this header
position.  That was item (3) and has nothing to do with byte order.

For item (4) the reflected table (Meaning that bit 31 is at bit 0, etc.)
used to generate the CRC creates a reversed byte order.  (The reversed bit
order is to be retained.)  This becomes difficult in that there is no
standard routine for placing this reversed byte order into network order.
If we wish to store this result in the correct order, then a new library
routine for doing so becomes required.  If we define the results stored as
"reflected" then the standard htonl() routine can be used otherwise a new
routine such as flip_htonl() needs to be created.  It would look something
like:

#ifdef (LITTLE_ENDIAN)
#define htonl(x) swab32(x)
#define ntohl(x) swab32(x)
#define flip_htonl(x) _u32(x)
#define flip_ntohl(x) _u32(x)
#else
#define htonl(x) _32(x)
#define ntohl(x) _32(x)
#define flip_htonl(x) swab(x)
#define flip_ntohl(x) swab(x)
#endif

Doug

> Doug/All:
>
> I will start a straw poll on the poly after the labor
> day holiday.. I think to many people are away this week
> to get any meaningful indication...
>
> Other comments below..
>
> Douglas Otis wrote:
> >
> > Lyndon,
> >
> > We can do this one issue at a time or attempt to do a few things in
> > parallel.
> >
> > I would prefer the (1) CRC-32c, (2) all one's initialization of
> the CRC, and
> > (3) non-inverted store.
>
> Doug, I don't mind 1 or 2... thats fine... As far as 3 goes, all
> things on the wire must be in Network byte order...
>
> R
>
> >
> > The other issue that remains open would be the (4) byte order
> the reflected
> > CRC value is stored.  To put this information into the normal order, a
> > routine such as flip_ntohl() would need to be added to the
> library and would
> > benefit little endian processors.
> >
> > Doug
> >
> > > I have no preference on the particular CRC, but I agree with
> > > Andreas that we should try to settle this issue.
> > >
> > > Cheers,
> > >
> > > Lyndon
> > >
> > > At 03:26 PM 8/29/2001 +0200, Andreas Jungmaier wrote:
> > > >-----BEGIN PGP SIGNED MESSAGE-----
> > > >Hash: SHA1
> > > >
> > > >Dear all, hi Randy,
> > > >
> > > > > We, as of now, only need to pick the poly.... for the
> > > > > most part I think the only issue is
> > > > >
> > > > > CRC-32/ITU or CRC-32c
> > > > >
> > > >
> > > >Randy, would you take on another straw poll, in order to
> > > >get this (overlong) thread finally settled now ?!
> > > >
> > > >For the reasons given in the draft
> > > >http://www.ietf.org/internet-drafts/draft-sheinwald-iscsi-crc-00.txt
> > > >please count me in favor of *CRC-32-C*
> > > >
> > > >Best regards,
> > > >Andreas
> > > >- --
> >
> > _______________________________________________
> > tsvwg mailing list
> > tsvwg@ietf.org
> > http://www1.ietf.org/mailman/listinfo/tsvwg
>
> --
> Randall R. Stewart
> randall@stewart.chicago.il.us 815-342-5222 (cell phone)
>
> _______________________________________________
> tsvwg mailing list
> tsvwg@ietf.org
> http://www1.ietf.org/mailman/listinfo/tsvwg
>


_______________________________________________
tsvwg mailing list
tsvwg@ietf.org
http://www1.ietf.org/mailman/listinfo/tsvwg