bfe4e17242
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> |
||
---|---|---|
.. | ||
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 | ||
libslirp.h | ||
main.h | ||
mbuf.c | ||
mbuf.h | ||
misc.c | ||
misc.h | ||
sbuf.c | ||
sbuf.h | ||
slirp_config.h | ||
slirp.c | ||
slirp.h | ||
socket.c | ||
socket.h | ||
tcp_input.c | ||
tcp_output.c | ||
tcp_subr.c | ||
tcp_timer.c | ||
tcp_timer.h | ||
tcp_var.h | ||
tcp.h | ||
tcpip.h | ||
tftp.c | ||
tftp.h | ||
udp.c | ||
udp.h |