[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ULE, and CRC-32
Some questions about the CRC-32, because I'm a little bit confused.
I think many of you are familiars with that CRC-32 stuff, so I
need their help ;-)
If I understand correctly, the CRC-32 is computed over :
[ ENCAP_HDR ][ IP datagram ][0x00 0x00 0x00 0x00]
with an initial crc set to [A B C D] the "Initial Register Value"
of the Author's note", and then XORed with a [E F G H] value.
Then what is sent is :
[ ENCAP_HDR ][ IP datagram ][CRC-32-MSB-first]
An then in the receiver, the [CRC-32] must be replaced by
[0x00 0x00 0x00 0x00] to achieve the same computation, and then
make comparison between the 2.
==> is this OK ?
In some old memories on the reception side, computing directly
over [ ENCAP_HDR ][ IP datagram ][CRC-32-MSB-first] should
give a 0 a result :
==> is true or have I just dreamt of it ?
In the source from FreeBSD
- the initial value is 0xff 0xff 0xff 0xff
- the final result is XORed with 0xff 0xff 0xff 0xff
==> I think this a classical calculation, can we adopt the same ?
Thanks for your help.
Alain.
--
Alain RITOUX
Tel +33-1-39-30-92-32
Fax +33-1-39-30-92-11
visit our web http://www.6wind.com