I will spare you all the backstory but I found that tftp could not download files over 32 mb by default from tftpd. I know you can pass blocksize to tftpd to handle much larger files but I was originally working with a client where this wasn't possible. Tftp protocol has 2 bytes for block number which put a 65535 limit on that. tftpd data doesn't care and will just roll that over back to 0 and keep sending data. Tftp client fails when there is block number roll over because it is tracking all the blocks with an int so ends up comparing its block counter which is now at 65536 to what comes off the network, 0 and quits. I updated the tftp client code to use same data type as the network side structs are using - u_int16_t. Now tftp counter rolls along with server and can send file of any size with or without a blocksize change. I feel like this is mostly pointless but doesn't hurt anything. Will gladly provide the actuall diffs. I have to look into that process for openbsd but just wanted to check with the group first in case there was a reason an int was used that I do not understand.
J