joerg
6e869e402d
Refactor in_cksum/in4_cksum/in6_cksum implementations:
...
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
2008-01-25 21:12:10 +00:00
joerg
71c98bab0d
When not compiling for the kernel, use stdio.h instead of sys/systm.h
...
(printf) and locally define the protoype. Makes it possible to use
in_cksum.c for regression testing.
2008-01-09 17:13:52 +00:00
joerg
a7a33965fc
Anyone seriously interested in implementing in_cksum on a new platform
...
should read RFC 1071, so point them to it.
2008-01-09 17:01:46 +00:00
christos
95e1ffb156
merge ktrace-lwp.
2005-12-11 12:16:03 +00:00
perry
51ad03a950
ANSIfy function prototypes. (Still have about 3/5ths of the C files in
...
netinet to go...)
2005-02-03 03:49:01 +00:00
agc
aad01611e7
Move UCB-licensed code from 4-clause to 3-clause licence.
...
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
itojun
f192b66b94
whitespace
2002-06-09 16:33:36 +00:00
lukem
ea1cd7eb08
add RCSIDs
2001-11-13 00:32:34 +00:00
augustss
8529438fe6
Remove register declarations.
2000-03-30 12:51:13 +00:00
christos
5545959d0b
backout previous kprintf changes
1996-10-13 02:03:00 +00:00
christos
6d7ad25bea
printf -> kprintf, sprintf -> ksprintf
1996-10-10 23:12:43 +00:00
jonathan
24a8c21b53
fixes for -Wall -Wmissing-prototypes:
...
include <sys/systm.h> to get a prototyped declaration of printf().
include <netinet/in.h> to get a prototyped declaration of in_cksum().
1996-04-08 19:55:37 +00:00
cgd
b5b72d26ea
be a bit more careful and explicit with types. (basically a large no-op.)
1995-04-13 06:25:36 +00:00
cgd
cf92afd66e
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
1994-06-29 06:29:24 +00:00
mycroft
07b4f2ab54
Update to 4.4-Lite networking code, with a few local changes.
1994-05-13 06:02:48 +00:00
mycroft
e287c3d10e
Fix function name.
1994-01-10 23:20:07 +00:00
mycroft
222ebaf50e
Prototype the rest.
1994-01-09 01:06:02 +00:00
mycroft
4fe12e6e88
Fix some inconsistent spacing; spaces at the end of lines, etc.
1994-01-08 21:21:28 +00:00
mycroft
95b048b53a
Canonicalize all #includes.
1993-12-18 00:40:47 +00:00
cgd
45a57e79ea
more rcsid additions and file header cleanups
1993-05-20 03:49:51 +00:00
glass
d5f887d44c
this file is never compiled, nor included in 'files' because it is adapted
...
for the particular architecture. However, it never would've compiled either
as it had the old '../h/foo.h' stuff in it.
1993-04-17 05:20:54 +00:00
cgd
61f282557f
initial import of 386bsd-0.1 sources
1993-03-21 09:45:37 +00:00