Subject: Re: CRC32c hardware support

From: Mark Butler <[email-masked]>
Date: Tue, 24 Jan 2006 17:54:45 -0700

Randall Stewart wrote:

>
> b) You can build the table you wish.. and do the
>    port translation but you cannot escape a full
>    CRC-32c on every packet. One of the reasons the
>    CRC-32c is so strong is that any bytes mis-ordered
>    will cause a different crc to be generated. Unlike
>    TCP or UDP where you have an additive sum and can just
>    add/subtract the things you are changing. So unless
>    you have hardware assist this will be a real problem
>    for you. Some NIC vendors may have this (mainly due
>    to iSCSI).. but last time I checked there was only
>    one very expensive intel board (designed for iSCSI
>    offload) that supported hardware assisted CRC32c

The Intel iSCSI CRC32c support is built into an 800 Mhz I/O processor 
instead of in the Ethernet controller IC, which accounts for its rarity 
and expense.   One good thing about iSCSI is that the CRC32c checksums 
are placed at the end of the data they protect, which makes hardware 
support much easier.

 - Mark

---

From: Randall Stewart <[email-masked]>
Date: Wed, 25 Jan 2006 00:19:57 -0500

> are placed at the end of the data they protect, which makes hardware 

Yeah, we had that discussion a few years ago as well.. when
the CRC issue was brought up and we changed from Adler.

Changing from Adler was not to difficult.. but changing
the postion in the packet was to drastic... and not that
much gain...

It may make it easier for hardware.. but so far hardware is
not jumping out all over the place :-)

R

-- 
Randall Stewart
ITD - Cisco Systems Inc.
803-345-0369 <or> 815-342-5222 (cell)