I can put a file successfully from localhost. If I try from another host the client connects and the file is created on the server, but it is empty. The transfer then times out a little later.
On the client I can run one of the following with the same result:
tftp <server> -c put install.log
tftp <server> -c put install.log install.log
tftp <server> -c put install.log /install.log
SELinux is in permissive mode, and IPtables is currently off.
Contents of /etc/xinetd.d/tftpd:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -v -c -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
/tftproot has got 777 permissions.
In /var/log/messages I get:
Mar 21 17:10:30 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:35 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:40 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:45 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Mar 21 17:10:50 <hostname> in.tftpd[29093]: WRQ from <client_ip> filename install.log
Been banging my head against this brick wall all afternoon. Someone please put me out of my misery. I know it will be something really stupid 🙁
Best Answer
Found the problem
It was the VMware NIC type. I was using the VNXNET3, once I changed to E1000 everythings works as expected. Apparently, the problem still exists in vSphere 5.
http://communities.vmware.com/thread/215456