Re: rigth crc32 implementation

From: Jose M Rodriguez <josemi_at_freebsd.jazztel.es>
Date: Tue, 26 Apr 2005 22:22:40 +0200
El Martes, 26 de Abril de 2005 21:42, Marcel Moolenaar escribió:
> On Tue, Apr 26, 2005 at 11:43:54AM +0200, Jose M Rodriguez wrote:
> > My first think was use the libkern based one, but I found:
> > sys/linkern/crc32.c
> >
> > - the code may not be endian safe.
>
> It operates on bytes, so it's endian-safe. Note that the uint32_t
> that's returned is not subject to endianness issues: it's always
> in the native byte order. The caller of crc32 needs to byteswap
> if it needs to compare this integral with a CRC that's not in
> the native byte order.
>

Yes, but this code come from a previous reduction: calculate the table 
from a xor/shift bit oriented alg.

Looking at sys/net/if_ethersubr.c ether_crc32_be() & ether_crc32_le(), I 
became to doubt if we need two tables, with bitesex based #ifs.

--
  josemi
Received on Tue Apr 26 2005 - 18:22:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:33 UTC