Date: Fri, 20 Jun 2008 10:46:00 +0200 From: Peter Kirk <peter@teamspeak-systems.de> To: freebsd-net@freebsd.org Subject: UDP checksum invalid on FreeBSD7/x86 Message-ID: <200806201046.05530.peter@teamspeak-systems.de>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200806201046.05530.peter>