UDP checksum invalid on FreeBSD7/x86
Peter Kirk
peter at teamspeak-systems.de
Fri Jun 20 08:56:24 UTC 2008
Hi there,
first of, this is my first posting to this list, hopfully it is the right
place, if not please direct me, I was not being thick intentionally.
I have a fresh installation of FreeBSD7 on x86, with no big changes to the
system.
Situation:
Two PCs, one running linux and my own programs client application
one running freebsd7 and my own programs server application
The client and server of my program interchange UDP packets of various sizes.
The problem I see is that small packets sent from the FreeBSD PC to the Linux
PC are sent with an invalid UDP checksum (verified via tcpdump on the linux
box). In my tests all packets with less than 30 bytes UDP payload had an
invalid checksum set. All packets with more than 15 bytes had the correct
checksum set. So, the "exact" number should be somewhere between 15 and 30
bytes.
The receiving Linux box discards the packets with invalid checksums, which of
course is problematic for my applications well-being.
To "fix" the problem I did:
sudo sysctl -w net.inet.udp.checksum=0
This doesn't seem to be a real fix, but more a work-around. If any more
information (regarding my installation, my hardware or how my application
uses the networking functions) is required, just ask.
Thanks in advance for your responses.
PS: I also tried with the client application on other operating systems than
linux (e.g. win32), and the same problem occured, so this does seem to be a
freebsd issue.
Peter
--
Today is the first day of the rest of your life.
More information about the freebsd-net
mailing list