From owner-freebsd-hackers Wed Mar 25 13:55:26 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id NAA11673 for freebsd-hackers-outgoing; Wed, 25 Mar 1998 13:55:26 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from gatekeeper.tsc.tdk.com (root@gatekeeper.tsc.tdk.com [207.113.159.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA11617 for ; Wed, 25 Mar 1998 13:55:09 -0800 (PST) (envelope-from gdonl@tsc.tdk.com) Received: from sunrise.gv.tsc.tdk.com (root@sunrise.gv.tsc.tdk.com [192.168.241.191]) by gatekeeper.tsc.tdk.com (8.8.8/8.8.8) with ESMTP id NAA01955; Wed, 25 Mar 1998 13:54:44 -0800 (PST) (envelope-from gdonl@tsc.tdk.com) Received: from salsa.gv.tsc.tdk.com (salsa.gv.tsc.tdk.com [192.168.241.194]) by sunrise.gv.tsc.tdk.com (8.8.5/8.8.5) with ESMTP id NAA28898; Wed, 25 Mar 1998 13:54:43 -0800 (PST) Received: (from gdonl@localhost) by salsa.gv.tsc.tdk.com (8.8.5/8.8.5) id NAA07247; Wed, 25 Mar 1998 13:54:42 -0800 (PST) From: Don Lewis Message-Id: <199803252154.NAA07247@salsa.gv.tsc.tdk.com> Date: Wed, 25 Mar 1998 13:54:42 -0800 In-Reply-To: "Ron G. Minnich" "Re: ARP REQUEST question" (Mar 25, 3:23pm) X-Mailer: Mail User's Shell (7.2.6 alpha(3) 7/19/95) To: "Ron G. Minnich" , freebsd-hackers@FreeBSD.ORG Subject: Re: ARP REQUEST question Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mar 25, 3:23pm, "Ron G. Minnich" wrote: } Subject: Re: ARP REQUEST question } On Wed, 25 Mar 1998, David Greenman wrote: } > Switches should be checking the CRC on inbound packets and discarding } > them if it is bad, so I don't see a problem. } } No problem if the crc on the inbound packet is bad. Discard it. Suppose } there's a problem though between the 'inbound crc check' and the 'outbound } crc generate' such that one bit in the packet is corrupted. Say, a pattern } that results in a marginal component internal to the switch corrupting } data, then the corrupt data is used to generate crc-32 on the outgoing } side. Boom, corrupted packet, no indication. This can and does happen. Switches and bridges should not regenerate the CRC on outbound packets. They should just pass the incoming CRC through. Routers must regenerate the CRC because they substitute their own MAC address in the outgoing source address field and substitute the MAC address of the next hop device in the outgoing destination address field. This isn't a problem for ARP, though, because routers don't propagate ARP. } Checksums have to be end-to-end. Yes. } Most recent (humorous) example: Don Becker reports that he detected } problems with gigabit ethernet cards via IP checksums. The problems } occured (yikes!) on the destination machine, as the data was transferred } from the card to main memory. No crc-32 error can catch that one, since } it's already been checked on the card. Ouch. And you lose the ability to check this if your card does the checksums in hardware. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message