- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I am trying to parse IP Ethernet packet in FPGA and planning to use CRC compiler to generate checksum for IP packet header and ethernet packet. If I use option CRC code as CRC-32 works fine with Ethernet packet checksum - Ethernet packet checksum is 32 bits I am not able to understand how to calculating 16 bit checksum for IP header. What to use CRC-16-ANSI or CRC-16-CCITT. I tried every option but looks like it is calculating some thing other then expected. It would be great if some one can enlighten me with whats the difference between ANSI and CCITT and what options do I need to use for generating checksum for IP header. ThanksLink Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If your referring to IPv4, the checksum is really a checksum rather than a crc. RFC0791 specifies:
--- Quote Start --- The checksum field is the 16 bit one's complement of the one's complement sum of all 16 bit words in the header. For purposes of computing the checksum, the value of the checksum field is zero. --- Quote End ---- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you ... this cleared my confusion. I was thinking CRC and checksum are same.
Thanks once again.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page