Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!think!ames!sgi!rpw3@rigden.wpd.sgi.com From: rpw3@rigden.wpd.sgi.com (Robert P. Warnock) Newsgroups: comp.protocols.tcp-ip Subject: Re: more on Fletcher Message-ID: <46399@sgi.sgi.com> Date: 15 Dec 89 04:06:21 GMT References: <89.12.09.1713.750@pescadero.stanford.edu> Sender: rpw3@rigden.wpd.sgi.com Reply-To: rpw3@rigden.UUCP (Robert P. Warnock) Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 32 In article <89.12.09.1713.750@pescadero.stanford.edu>, deering@PESCADERO.STANFORD.EDU (Steve Deering) writes: +--------------- | My reason for wanting the checksum at the end of the packet is to allow | a high-performance (hardware-assisted) implementation to compute the | checksum on the fly as it copies a packet onto the wire, tacking it | on at the end. This eliminates one expensive pass over the packet. I | believe that Ultra's speedy TP-4 implementation places the checksum at | the end for the same reason. +--------------- If you have any packet buffer RAM on your controller, you probably want to compute the checksum on transmit data as it's being copied from the host to the controller, rather than as it's going out on the wire, just to protect against mistakes while the data is in the controller. Also, one of the reasons XTP has a header/trailer checksum separate from the data checksum is so the data checksum can be done once during the copy from the host (and at the other end when finally copying *to* the host after reception) using some hardware assist as you suggest, while the header/trailer checksum computation can be deferred until the packet is actually about to go out onto the wire. This lets the headers contain the most recent status available just as the packet was about to go out... But the notion is similar; both checksums in XTP are in the trailer, and can be calculated with hardware assist as part of the copy (or transmission). ----- Rob Warnock, MS-9U/510 rpw3@wpd.sgi.com rpw3@pei.com Silicon Graphics, Inc. (415)335-1673 Protocol Engines, Inc. 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311