Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 May 2005 12:56:08 +0200
From:      Jose M Rodriguez <josemi@freebsd.jazztel.es>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: rigth crc32 implementation
Message-ID:  <200505081256.09115.josemi@freebsd.jazztel.es>
In-Reply-To: <05b71132f579685de0459a3b762b26b5@xcllnt.net>
References:  <200504261143.55195.josemi@redesjm.local> <426EF6BD.6030207@errno.com> <05b71132f579685de0459a3b762b26b5@xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
El Mi=E9rcoles, 27 de Abril de 2005 04:57, Marcel Moolenaar escribi=F3:
> On Apr 26, 2005, at 7:19 PM, Sam Leffler wrote:
> > Marcel Moolenaar wrote:
> >> On Tue, Apr 26, 2005 at 01:01:32PM -0700, Sam Leffler wrote:
> >>> Note also there is CRC32 code of this sort in WEP and TKIP crypto
> >>> modules in the net80211 support.
> >>
> >> Sam,
> >> Given the seperation of crc32() into crc32_raw() and crc32(), with
> >> either crc32() only or otherwise both functions inlined, are there
> >> any obstacles preventing the 802.11 code from using the ones in
> >> src/sys/libkern?
> >
> > The wep+tkip usage is integral to the cipher so splitting it out
> > would likely slow them and, more importantly, would also require
> > revalidation (there are test vectors but they're pretty limited).
> > These modules are self-contained for various reasons so I'm leary
> > of switching.
>
> Understood. Seems like a good reason to leave it as-is.
>
> >   I'll think about adding it under an #ifdef for those that want to
> > save 2Kbytes (the size of the crc tables).
>
> In my book, 2K isn't worth the trouble.
> Thanks for the info,

After some digging, seems that libkern crc32 is really a ether-II crc=20
implementation, using the reflected tabbed alg.

The only difference I found is that the not reflected alg. is more usual=20
and used, at last, in ueagle.

Only a latest thing about this rest.  Can be crc32_tab and his consumers=20
alter to use a const definition?

uint32_t const crc32_tab[] =3D {
=2E..

This will stop an ill defined module can alter the shared crc table.

Thanks in advance,
=2D-
  josemi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505081256.09115.josemi>