Rewrite the IP checksum code. Get rid of all the inline assembly garbage,
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 14 Feb 2004 02:09:28 +0000 (02:09 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 14 Feb 2004 02:09:28 +0000 (02:09 +0000)
commit60dd8bbf5d17ffac927886fdc12049d6867a29eb
tree33f65e74e9f847ba5b4fbb108af4ec6de5c43305
parent6ac1f49dd6f659c8774fea24686ff185e0797993
Rewrite the IP checksum code.  Get rid of all the inline assembly garbage,
get rid of old APIs that are no longer used, and build a new 'core' checksum
function in C capable of handling any alignment.  Add an assembly procedure
(in its own file) for handling large blocks of 32-bit aligned data.

This new code is better suited for modern cpus and should at least as good
as the previous code, and it is far more portable.

Note that in_cksum_hdr() still assumes 32 bit alignment.  This will be fixed
soon.
sys/conf/files.i386
sys/cpu/i386/misc/in_cksum2.s [new file with mode: 0644]
sys/i386/i386/in_cksum.c
sys/i386/i386/in_cksum2.s [new file with mode: 0644]
sys/i386/include/in_cksum.h
sys/netinet/igmp.c
sys/netinet/in.h
sys/netinet/ip_icmp.c
sys/platform/pc32/i386/in_cksum.c
sys/platform/pc32/include/in_cksum.h