Subject: Re: Quick question: where do CRC checks occur in the networking stack?
To: David W. Rankin Jr. <drankin@bohemians.lexington.ky.us>
From: Ignatios Souvatzis <is@netbsd.org>
List: tech-net
Date: 12/28/2002 10:08:59
--LQksG6bCIzRHxTLp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Dec 27, 2002 at 10:23:04PM -0500, David W. Rankin Jr. wrote:
> For ethernet packets, where does the CRC generation occur? How about the
> CRC checks?

Both in the hardware, for all Ethernet hardware known to me. Most that I've
looked at even throw away received packets with wrong crc before the CPU se=
es
them (at least optionally), only incrementing an error counter.

> In my work to make VLT work,

what's that?

> I've discovered that the code
> generates the wrong CRCs, and appearantly drops incoming packets=20
> because the CRCs are wrong. (VLT packets basically stick 4 octets ahead
> of the packet that aren't supposed to be counted in the CRC.)

Are you sure? This sounds like an Ethernet framing error to me - before the
address frames there are only the preamble bits used to synchronize the=20
receiver clock.
>=20
> Unfortunately, I've looked and looked at the ethernet code, but the CRC
> code doesn't jump out at me, so I figured I'd ask for help.

see above.

Regards,
	-is

--LQksG6bCIzRHxTLp
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (NetBSD)

iD8DBQE+DWoqPCRcZ/VMtk4RAgsiAJ0YUZFyXzx8mu6WQKqVecs4mFZcSQCgjCnS
q27gdU4wZ3UbChtby+iDnbk=
=7pRR
-----END PGP SIGNATURE-----

--LQksG6bCIzRHxTLp--