cvs commit: src/sys/conf files.i386 src/sys/i386/i386 in_cksum2.s in_cksum.c src/sys/i386/include in_cksum.h src/sys/netinet igmp.c in.h ip_icmp.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Feb 13 18:10:50 PST 2004
dillon 2004/02/13 18:09:29 PST
DragonFly src repository
Modified files:
sys/conf files.i386
sys/i386/i386 in_cksum.c
sys/i386/include in_cksum.h
sys/netinet igmp.c in.h ip_icmp.c
Added files:
sys/i386/i386 in_cksum2.s
Log:
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.
Revision Changes Path
1.12 +1 -0 src/sys/conf/files.i386
1.4 +142 -558 src/sys/i386/i386/in_cksum.c
1.5 +33 -69 src/sys/i386/include/in_cksum.h
1.5 +2 -0 src/sys/netinet/igmp.c
1.6 +0 -1 src/sys/netinet/in.h
1.6 +2 -0 src/sys/netinet/ip_icmp.c
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.i386.diff?r1=1.11&r2=1.12&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/in_cksum.c.diff?r1=1.3&r2=1.4&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/in_cksum.h.diff?r1=1.4&r2=1.5&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/igmp.c.diff?r1=1.4&r2=1.5&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/in.h.diff?r1=1.5&r2=1.6&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_icmp.c.diff?r1=1.5&r2=1.6&f=h
More information about the Commits
mailing list