chris@yarra.oz.au (Chris Jankowski) (09/03/90)
How an Ethernet controller knows where is the CRC in the frame? I understand that the Ethernet frames do not have a data length field as the IEEE802.3 frames do (the field is used for protocol type). -m------- Chris Jankowski - Senior Systems Engineer chris@yarra.oz{.au} ---mmm----- Pyramid Technology Corporation Pty. Ltd. fax +61 3 820 0536 -----mmmmm--- 11th Floor, 14 Queens Road tel. +61 3 820 0711 -------mmmmmmm- Melbourne, Victoria, 3004 AUSTRALIA (03) 820 0711 "Knowing how things work is the basis for appreciation, and is thus a source of civilized delight." -- William Safire
karn@envy..bellcore.com (Phil Karn) (09/04/90)
In article <65138@yarra.oz.au> chris@yarra.oz.au (Chris Jankowski) writes: >How an Ethernet controller knows where is the CRC in the frame? It's fairly straightforward. CRCs are checked at the receiver with a 32-stage shift register with the appropriate feedback. Each bit in the packet is in turn fed into the shift register, and the state of the shift register can be examined in parallel. If the CRC is correct, the shift register will always contain the same value after the last bit of the CRC has been received, regardless of the data in the packet. So you just wait until the receive clock stops (which is how you detect the end of an Ethernet frame) and look at the contents of the shift register. If it contains anything other than the correct residue, you know that there has been a CRC error. Phil