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

Joshua Oreman oremanj at rwcr.net
Thu Jan 14 09:35:06 EST 2010


On Thu, Jan 14, 2010 at 9:20 AM, Thomas Horsten <thomas at horsten.com> wrote:
>> There is still an issue because UDP deliver_iob() does not fail when
>> the packet is dropped due to an ARP cache miss.  This means TFTP
>> cannot determine whether a packet it sent was handed to the network
>> device.  I 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.

Keep in mind that gPXE has extremely limited code size constraints; I
suspect this is why Stefan didn't want to use an actual process for
the TFTP fix when something lighter-weight would do. My opinion on the
ARP issue: it's only going to get hit once per TFTP server, which is a
lot less than once per file, and can probably be ignored barring
evidence to the contrary.

-- Josh


More information about the gPXE mailing list