|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI v8 CRC32CExcerpt of message (sent 20 November 2001) by Luben Tuikov: > Hello, > > I've been trying to get CRC32C working. I read a few papers, > derived the equations myself, etc, etc, but still cannot get > CRC32C to work... A good paper to read is the classic Ethernet spec (V1, not 802.3). In particular, see appendix C. > My basic framework is: (not precomputing a table -- just force): > > poly= 1edc6f41; > crc = all 1's; > while more bits in message do > crc shift left, adding the next message bit at right; > if carry then > crc = crc XOR poly; That looks wrong; the Ethernet spec as I read it seems to say you need "if (carry xor messagebit)" > end if; > end while; > crc = NOT crc; (e.g. complement the register) Re your later note: if you get a 0 remainder, you're missing something. Probably the fact that the initial all 1 value is mathematically equivalent to complementing the initial 32 bits of the message. paul
Home Last updated: Fri Nov 23 16:17:42 2001 7890 messages in chronological order |