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

Why Is It Important to Have a Robust DNS Filter?

A robust suite of cybersecurity tools is a vital necessity for any business. Failing to protect your network and devices can have huge financial consequences. DNS filters are more than just a tool — they’re an investment in your business. Here’s how having your IT team set up a DNS filter can provide big benefits across your organization.

Employee Spotlight: Mark

For this months employee spotlight we’re featuring new-again employee, Mark. He previously worked at AngelCom for 7 years and is back in the role of Director of Support.

Gear Up for 2024: 7 Ways an MSP Can Revamp Your IT Solutions

With the new year just weeks away, now is the perfect time to reflect on your IT strategies. Whether your IT solutions are due for a total overhaul or if you just want to make sure everything is fine-tuned for the start of 2024, consider partnering with a managed services provider (MSP).