Hi, Not all machines behave the way you describe - BSD/OS for instance, always checks the checksum if one is given and the kernel variable only controls UDP checksumming on transmitted packets. I think it makes sense to make a list of operating systems and describe the behaviour: Operating system, version: UDP checksum receive: {ALWAYS, udp_cksum, NEVER} (default=XX) UDP checksum transmit: {ALWAYS, udp_cksum, NEVER} (default=XX) And for those that don't have checksumming on by default, a description how to change it as they are the only ones affected by an enforcement of UDP checksumming. It is quite likely that only SunOS 4.x or deratives are seriously affected (well, there may be a BSD4.2 system or two in the world but I don't think there are many left). To start things off: OS, version: SunOS, version 4.1.x UDP checksum RX: udp_cksum (default=off) UDP checksum TX: udp_cksum (default=off) Default can be changed by:
Unix OSs have a kernel flag named usually "udpcksum" settable by a binary editor, config tools (like sysctl, ndd, no, ...) and defined in .../sys/netinet/in_proto.c which is distributed in the source form in order to allow the setting of various TCP/IP flags. [Francis Dupont@inria]
OS, version: BSD/OS, version 2.1 UDP checksum RX: ALWAYS UDP checksum TX: udp_cksum (default=on) OS, version: FreeBSD, version 2.1 UDP checksum RX: ALWAYS UDP checksum TX: udp_cksum (default=on) Once collected, this can go in some kind of document be it RFC or otherwise. Can people who know about other OSes please speak up? Geert Jan On Sun, 05 May 1996 19:53:49 +0200 Francis Dupont wrote:
Here is a technical note about UDP checksums (which should be mandatory for DNS, perhaps we should write a RFC about this ?)
Francis.Dupont@inria.fr
(rest of original message removed)