Re: [Etherboot-developers] [PATCH] [tftp] Kick off TFTP RRQ from a process to avoid losing first packet

Thomas Horsten <[email protected]> Thu, 14 Jan 2010 14:20:31 +0000
Newsgroups gmane.network.etherboot.gpxe,gmane.network.etherboot.devel
Message-ID <[email protected]>
2010/1/14 Stefan Hajnoczi <[email protected]>:
> Does this patch fix the issue? =A0It should be equivalent to adding a new=
 process.

Yes, it does fix it. However, it spins an extra time before the socket
is ready. With the process approach xfer_window() is true the first
time round, and I'm guessing this is because the timers get scheduled
ahead of the processes.

> There is still an issue because UDP deliver_iob() does not fail when
> the packet is dropped due to an ARP cache miss. =A0This means TFTP
> cannot determine whether a packet it sent was handed to the network
> device. =A0I haven't audited other UDP user code but it is possible we
> could change UDP so that users know when packets are hitting the wire
> versus waiting for ARP.

That would probably be good. Again the wait objects I mentioned
earlier, or even a simple callback in the socket structure would be an
idea.

Thomas