Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.



411 University St, Seattle, USA


+1 -800-456-478-23

Network Checksums Failing Traffic Offline Sync Files

My problem has been solved, although not 100% understood.

The problem seemed to be with the NIC advanced setting TCP_LargeSend. After disabling this option the mismatched checksum issue went away.

Here is the ad nauseam description, in case you care. I know you don’t really care but I will feel better for having told someone about all the hard work I put into understanding the problem.

I started by using ethereal (on advice from email response from dev@subversion.tigris.org thanks Molle B.) and found checksum errors on all packets being sent. I updated my NIC card driver (Gigabit RealTek RTL8169/8110) it did not help. While I was flipping through the various tabs on the NIC properties I stumbled across the Advanced Settings and I found an interesting option called offload Checksum. On a web search I found the Windows article “Windows Network Task Offload” http://www.microsoft.com/whdc/device/network/taskoffload.mspx.

I tried disabling the offload Checksum option and the TCP checksum errors in ethereal went away but the subversion checksum mismatch didn’t. In the Windows article they mentioned the TCP LargeSend option also. I got to thinking, Subversion fails with large files and the NIC card has a LargeSend options. Hummmm, very curious! Reading the windows article explained what might be happening. The NIC card is getting a large block of data, bigger that the MTU and trying to split it up by reusing the header for the large block. For some reason the receiving end of the TCP message is not putting them back together correctly. Turning off this option in my NIC card fixed the subversion checksum mismatch problem.

Side note about the TCP checksum errors in ethereal:
The TCP checksum errors, as best as I can understand , are because the NIC card is setup to do the real checksum. This means that ethereal is not seeing the finial checksum after the packet is sent. If I disable the offload checksum option on the NIC the TCP checksums in ethereal are correct. Reading the Microsoft article explains why this may be happening and why you should keep it enabled (30% reduction in CPU usage). Bottom line is it was not causing the problem but was just interesting none the less.

Yet another quirk in the gazillion PC configurations on the planet!

More Posts

Is It Time to Migrate from G Suite to Microsoft 365?

Google’s G Suite (now called Google Workspace) and Microsoft 365 are the major productivity software players competing for attention, and both are worthy of consideration for entirely different reasons. However, many companies eventually leave the startup phase and outgrow G Suite. This is when you know it’s time to migrate to Microsoft 365.

The Importance and Features of KnowBe4

In light of OpenAI’s viral ChatGPT platform, users worldwide are leveraging the tool to accomplish tedious tasks, improve their workflows, or just have fun. We look at how AI tools like ChatGPT function, and then we’ll review some positives and negatives when it comes to using it at your place of work.