qemu-e2k/slirp
Thomas Horsten bfe4e17242 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>
2010-01-11 13:41:00 -06:00
..
bootp.c
bootp.h
cksum.c
COPYRIGHT
debug.h
if.c
if.h
ip_icmp.c
ip_icmp.h
ip_input.c
ip_output.c
ip.h fix networking on win32 host 2009-12-18 23:23:56 +01:00
libslirp.h
main.h
mbuf.c
mbuf.h
misc.c slirp/misc.c: fix warning with _FORTIFY_SOURCE 2009-12-25 18:19:18 +00:00
misc.h
sbuf.c
sbuf.h
slirp_config.h
slirp.c
slirp.h Don't leak file descriptors 2009-12-03 11:45:50 -06:00
socket.c Don't leak file descriptors 2009-12-03 11:45:50 -06:00
socket.h
tcp_input.c
tcp_output.c
tcp_subr.c Don't leak file descriptors 2009-12-03 11:45:50 -06:00
tcp_timer.c
tcp_timer.h
tcp_var.h
tcp.h
tcpip.h
tftp.c Handle TFTP ERROR from client 2010-01-11 13:41:00 -06:00
tftp.h
udp.c Don't leak file descriptors 2009-12-03 11:45:50 -06:00
udp.h