[ipxe-devel] PXENV_UDP_WRITE
Frediano Ziglio
frediano.ziglio at citrix.com
Tue Feb 21 17:44:31 UTC 2012
On Wed, 2012-02-15 at 23:29 +0000, Michael Brown wrote:
> On Wednesday 15 Feb 2012 16:34:40 Simon Rowe wrote:
> > On Sunday 12 February 2012 13:38:43 Michael Brown wrote:
> > > PXE will never block on PXENV_UDP_WRITE. As you describe, an ARP request
> > > will be sent instead of the UDP packet. Since UDP is an unreliable
> > > protocol, the caller must be prepared to retransmit the UDP packet, at
> > > which point hopefully the ARP response will have been received and the
> > > UDP packet can be sent.
> >
> > Is returning AX=0 from PXENV_UDP_WRITE the correct action or should some
> > indication be given to the caller that the UDP packet was discarded?
>
> Probably the latter. It looks as though the error gets hidden in
> udp_xfer_deliver(). Could you try the attached (untested) patch and see if it
> does what you expect?
>
> Thanks,
>
> Michael
Hi Michael,
patch propagate error correctly. I don't know if
PXENV_STATUS_TFTP_FILE_NOT_FOUND (0x3B) is the right error to expect,
specification define only PXENV_STATUS_ARP_TIMEOUT and
PXENV_STATUS_TFTP_CANNOT_ARP_ADDRESS errors for ARP.
Note also that if you call UDP_WRITE without UDP_OPEN ipxe returns
success and does not send any packet.
Regards
Frediano
More information about the ipxe-devel
mailing list