]> git.proxmox.com Git - qemu.git/commit
Handle TFTP ERROR from client
authorThomas Horsten <thomas@horsten.com>
Thu, 7 Jan 2010 17:01:28 +0000 (17:01 +0000)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 11 Jan 2010 19:41:00 +0000 (13:41 -0600)
commitbfe4e172421d711d1d5b049f90be0961451c8259
treea6af1f4e0f8c87e9ed86f43eb93141439d145fb8
parent1559ca00bc90ce6917c2798ed81098e4be67f58e
Handle TFTP ERROR from client

If a PXE client only wants to find out the size of a file, it will
open the file and then abort the transfer by sending a TFTP ERROR packet.

The ERROR packet should cause qemu to terminate the session. If not,
the sessions will soon run out and cause timeouts in the client.

Also, if a TFTP session already exists with same IP/UDP port, it
should be terminated when a new RRQ is received, instead of creating a
duplicate (which will never be used).

A patch for gPXE to send the ERROR packet is also being submitted to
gPXE. Together they resolve slowness/hanging when booting pxegrub from
qemu's internal TFTP server. The patch from Milan Plzik to return
after sending OACK is also required for a complete fix.

Signed-off-by: Thomas Horsten <thomas@horsten.com>
Signed-off-by: Milan Plzik <milan.plzik@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
slirp/tftp.c