• T
    Handle TFTP ERROR from client · bfe4e172
    Thomas Horsten 提交于
    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: NThomas Horsten <thomas@horsten.com>
    Signed-off-by: NMilan Plzik <milan.plzik@gmail.com>
    Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
    bfe4e172
tftp.c 9.4 KB