Hamachi hardware checksum support

Pete Wyckoff pw@dancer.ca.sandia.gov
Wed Mar 10 18:16:50 1999


I modified the hamachi.c driver to use the TCP/UDP checksum support in
hardware.  So far it's only been tested on linux-alpha v2.2.1.  The
bandwidth improvement isn't stellar:  331 Mb/s without, 384 Mb/s with
hardware checksumming (receive-side only) for big TCP streams.

There's some notes on how to handle transmit-side checksumming.  The
problem is the lack of a clean way to tell the rest of the kernel that
it need not do checksumming on outgoing packets.  I did not want to
have to patch my kernel specifically for the hamachi in tcp_do_sendmsg,
but would like to hear ideas from others about how to do that nicely.
Anyway, it's the receiver that's taking all the time in the tests I've
run.

Check out the patch to suit your favorite driver, Becker's cesdis:

	http://dancer.ca.sandia.gov/~pw/stock-0.07-checksum.diffs.gz

or Kasten's extensions:

	http://dancer.ca.sandia.gov/~pw/stock-0.13-checksum.diffs.gz

I'd like to hear if there's a more noticable improvement for folks with
slow CPUs.

Thanks to pmonta@imedia.com for giving me the documentation.

		-- Pete
---------------------------------------------
Pete Wyckoff          | wyckoff@ca.sandia.gov
Sandia National Labs  | 925 294 3503 (voice)
MS 9011, P.O. Box 969 | 925 294 1225 (fax)
Livermore, CA  94551  |
 | To unsubscribe, send mail to Majordomo@cesdis.gsfc.nasa.gov, and within the
 |  body of the mail, include only the text:
 |   unsubscribe this-list-name youraddress@wherever.org
 | You will be unsubscribed as speedily as possible.