PXE UDP stack

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
awa
Posts: 2
Joined: Wed Feb 22, 2012 4:39 am

PXE UDP stack

Post by awa »

Hi everyone,

I am currently working on a pxe boot loader that must use the PXE UDP interface.
Well, it works (I can get UDP packets from network), but I miss A LOT of packets, which is not the case when I do use the TFTP interface.
Perhaps is this due to the non-blocking PXENV_UDP_READ function: I need to loop calling this function until it returns success.
I also tried to halt between all non-success calls, counting on the fact that the NIC will raise an interruption each time it will receive a packet, but as of now, nothing worked as good as I expected.

Has anybody used this PXE UDP interface to read packets ?
Is there a specific trick to configure the PXE stack ?
Perhaps shouldn't I loop to read, so is there a way to have a blocking read function, or can I be notified that a packet has been received and is available ?

Thanks to anybody that could have any clue on this.
awa
Posts: 2
Joined: Wed Feb 22, 2012 4:39 am

Re: PXE UDP stack

Post by awa »

Well: I faced the problem for weeks.... And found the solution right after having created this post ...
The point was that I used too big packets to fit in an ethernet frame. Apparently, pxe stacks have only one single packet buffer, which means that the the second partof the IP packet was lost in lots of cases.
I did reduce my UDP packet data size (to 1460), and it now works...

Sorry for asking a question and answering few hours later... but maybe this info could be useful for somebody...
Post Reply