Re: Ethernet CRC questions
From: Matti Aarnio <hidden>
Date: 2009-12-30 06:43:31
On Wed, Dec 30, 2009 at 01:53:09PM +0800, thomas yang wrote:
2009/12/30 Ben Hutchings [off-list ref]:quoted
On Wed, 2009-12-30 at 01:17 +0800, thomas yang wrote:quoted
How does Linux generate Ethernet CRC ? by the hardware (Ethernet controller) or use crc32_le() / crc32_be() ( lib/crc32.c ) ? P.S. my network card is rtl8139d , use 8139too driverThe Ethernet frame CRC is normally generated and verified in hardware. These library functions are needed for the few MACs that don't, or where the same CRC function is used for some other purpose (e.g. as a hash function for multicast filtering).Does the Ethernet frame CRC (generate and verify in hardware) make the TX / RX rate a little smaller , and a longer end-to-end delay ? Could I disable CRC appending / verifying in the network card driver on all of my nodes (machines) ?
You would need to similarly disable the checking and generating at your network switches as well. It really is not worthwhile. You are better to use multiple links in between the machines in parallel, and bond them together as load-sharing link. Or go to 10G. (We used to do that kind of things with quad fast-ethernet cards, but with gigaethers we did not bother anymore.)
Thanks.
Best Regards, Matti Aarnio