0

I have a codebase in C that parses network packets, and it seems to work with UDP just fine. Except for (the first packet of) TFTP. Is the Ubuntu tftp client (which is actually the BSD netkit TFTP client) faulty in this respect? I have noticed, for example, that when you send the same file, it always sends the same checksum (even though, over different runs, the source port is different, as one would expect, and the UDP checksum is supposed to incorporate the UDP source port).

Am I making the wrong assumptions? Is TFTP different when it comes to UDP header checksums? I know it's not necessarily a programming question, but it's holding up my programming, that's for sure.

KJH
  • 375
  • 2
  • 10
  • Apologies. It was a faulty configuration: the UDP header checksum was miscalculated by the underlying hardware, because of virtual machine offloading. See more here: http://www.linuxquestions.org/questions/linux-networking-3/help-needed-disabling-tcp-udp-checksum-offloading-in-debian-880233/ – KJH Nov 17 '15 at 14:19
  • Please post the solution as an answer, then select that answer so the question can be closed – user3629249 Nov 17 '15 at 17:23

1 Answers1

0

What I hadn't noticed is that virtual machines offload the formulation of packets; my tests ran on virtual machines guests. So the answer is, if you ever have corrupt packets on VM's, consult with this link:

http://www.linuxquestions.org/questions/linux-networking-3/help-needed-disabling-tcp-udp-checksum-offloading-in-debian-880233/

follow up, and try again.

KJH
  • 375
  • 2
  • 10