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

Joshua Oreman <[email protected]> Thu, 14 Jan 2010 09:35:06 -0500
Newsgroups gmane.network.etherboot.gpxe,gmane.network.etherboot.devel
Message-ID <[email protected]>
On Thu, Jan 14, 2010 at 9:20 AM, Thomas Horsten <[email protected]> wrote:
>> 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.

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