RE: [Tsvwg] SCTP Checksum Change to the IESG

pat_thaler@agilent.com Thu, 02 May 2002 22:40 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 SAA16869 for <tsvwg-archive@odin.ietf.org>; Thu, 2 May 2002 18:40:07 -0400 (EDT)
Received: (from daemon@localhost) by optimus.ietf.org (8.9.1a/8.9.1) id SAA14227 for tsvwg-archive@odin.ietf.org; Thu, 2 May 2002 18:40:10 -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 SAA12921; Thu, 2 May 2002 18:22:14 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id SAA12892 for <tsvwg@ns.ietf.org>; Thu, 2 May 2002 18:22:13 -0400 (EDT)
Received: from msgbas2.cos.agilent.com (msgbas2x.cos.agilent.com [192.25.240.37]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id SAA15963 for <tsvwg@ietf.org>; Thu, 2 May 2002 18:22:09 -0400 (EDT)
From: pat_thaler@agilent.com
Received: from msgrel1.cos.agilent.com (msgrel1.cos.agilent.com [130.29.152.77]) by msgbas2.cos.agilent.com (Postfix) with ESMTP id 6648C12E8; Thu, 2 May 2002 16:22:11 -0600 (MDT)
Received: from axcsbh4.cos.agilent.com (axcsbh4.cos.agilent.com [130.29.152.145]) by msgrel1.cos.agilent.com (Postfix) with SMTP id 269BC1A70; Thu, 2 May 2002 16:22:11 -0600 (MDT)
Received: from 130.29.152.145 by axcsbh4.cos.agilent.com (InterScan E-Mail VirusWall NT); Thu, 02 May 2002 16:22:08 -0600
Received: by axcsbh4.cos.agilent.com with Internet Mail Service (5.5.2653.19) id <JJVQT29P>; Thu, 2 May 2002 16:22:08 -0600
Message-ID: <1BEBA5E8600DD4119A50009027AF54A00BC0097B@axcs04.cos.agilent.com>
To: randall@stewart.chicago.il.us, dotis@sanlight.net
Cc: tsvwg@ietf.org
Subject: RE: [Tsvwg] SCTP Checksum Change to the IESG
Date: Thu, 02 May 2002 16:22:10 -0600
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain; charset="iso-8859-1"
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

Randall,

The draft says: "Whatever implementation strategy
    an implementation chooses, it MUST arrange to provide both the
    initial value of the checksum field, and the value computed for the
    SCTP checksum, to the software stack."

That sure looks like a requirement to me. Not clear why it says that the
same thing is recommended in another place but I assume that attaching
SHOULD and MUST to the same item in different places means that it is a
MUST.

Secondly, you presume that the CRC checker produces the same value as a CRC
generator and as I have pointed out in my other emails the most common CRC
checker implementation in hardware does not.

I have another problem with the draft. In a number of places it talks about
zeroing out the checksum field to do CRC generation. This has no purpose
especially since the recommended method for generating the CRC is the SMD
(simultaneous multiply divide) method. This method does not run trailing
zeros through the CRC generator since the generator does the multiplication
by x^32 at the same time as it divides.

Regards,
Pat



-----Original Message-----
From: Randall Stewart [mailto:randall@stewart.chicago.il.us]
Sent: Thursday, May 02, 2002 10:25 AM
To: Douglas Otis
Cc: tsvwg@ietf.org
Subject: Re: [Tsvwg] SCTP Checksum Change to the IESG


Doug:

Please lets be clear here and not confuse the recommended approach
... there is NO MUST attached to the "recommended approach"

What I read from you.. and I would like a short YES/NO if I read
you correct is:

You DON'T want to have to give the implementation two values
back i.e. the computed value and the value in the data.

Instead you would like to give as YES/NO back...



I don't see why you should object to this.. since it gives
a audit mechanism over the hardware.. and in fact passing
back the 32 bit value gives more info if you are trying to
debug what is going wrong... 

With modern architectures passing a 32 bit value back verses
passing a YES/NO bit really does not add anything cpu savings
wise... ... in fact it won't be to long and we will be saying
this about 64 bit values.. pretty wild when one things about it...

R


Douglas Otis wrote:
> 
> Randall,
> 
> This is a rather clear statement that demands (by using the word MUST)
both
> the initial value and the hardware computed checksum value.  This
> requirement reflects expectations of a particular implementation that-
> 
>  1) should not be the recommended approach
>  2) should not form the basis of a MUST requirement
> 
> It means a hardware solution that passes the packet unaltered and sets a
> status bit within the descriptor would not meet the requirements of this
> draft.  This noncompliant implementation would however allow software to
> inspect the integrity of the hardware check and interoperate with all
other
> implementations without harm whatsoever.  The recommendation is wrong as
is
> this MUST provide statement.  If someone suspects a hardware problem or
> wishes for a complete end-to-end solution, not altering the packet by
> hardware should be the recommended implementation.  This however would not
> comply with this draft without also providing a means of exchanging the
> hardware result?  The current recommendation would provide a zeroed
checksum
> field and two odd places to look for the checksum values (computed and
> original).  Software would then require many versions of checking schemes
> for each hardware device rather than just the current scheme.  : (
> 
>  -Doug
> 
> On May 2, 2002 7:13 AM Randall Stewart (randall@stewart.chicago.il.us)
> wrote:
> >
> > Douglas Otis wrote:
> > >
> > >  "An implementation using hardware assist is encouraged to follow the
> > >   exact procedure specified above.  Whatever implementation strategy
> > >   an implementation chooses, it MUST arrange to provide both the
> > >   initial value of the checksum field, and the value computed for the
> > >   SCTP checksum, to the software stack."
> > >
> >
> > Doug the only requirement above is that the hardware must let the
> > software see both the initial value in the checksum field .. i.e.
> > what came off the wire AND the value computed by the hardware..
> >
> > I think what Jonathan was after here is so that you don't get a
> > GO/NO-GO from the hardware..
> >
> > This does NOT discourage you from doing non-alter techniques to
> > the data packet.. since by non altering the packet you are letting
> > the software see the value off the wire..
> >
> > I don't understand your objection.. the wording lets you do
> > what you want and just recommends a specific implementation...
> >
> > R
> >
> > --
> > Randall R. Stewart
> > randall@stewart.chicago.il.us 815-342-5222 (cell phone)
> >
> 
> _______________________________________________
> tsvwg mailing list
> tsvwg@ietf.org
> https://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
https://www1.ietf.org/mailman/listinfo/tsvwg

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