[syslinux] pxelinux implementation questions

Josef Siemes jsiemes at web.de
Tue Jun 24 15:42:32 PDT 2003


Hi,

Alexander Sack <aps at holmeister.net> schrieb am 23.06.03 16:36:04:
> > Alexander Sack <aps at holmeister.net> schrieb am 20.06.03 18:57:30:
> > > I've been looking at the pxelinux code and I was wondering a couple of
> > > things:
> > 
> > > 2)  How big of an image can pxelinux download (minus memory constraints)?  
> > > My understanding is that tftp packet numbers are from 0-65535 yielding a 
> > > maximum size of 32MB.  Yet, from the revision history, it seems pxelinux 
> > > can handle bigger images?  (I don't see any wrap around handling though
> > > I maybe not looking hard enough in seachdir() - from the looks of it,
> > > the only way I can see pxelinux downloading a bigger image is if the
> > > tftp_blksize is negotiated greater than 512, right?)
> > 
> > One thing to add: tftp is UDP, so the server sends exactly one packet,
> > the client acks this packet, then the server sends the next and so on.
> > TCP is quite different, but it's also much more complicated to implement.
> 
> Thanks.  Yea, I've read the RFC (the lock step!), I was just wondering
> if I could send a RRQ, read the packet, and then drop the connection
> using the PXE stuff by creating some form of error packet.  I'm on the
> wrong path anyway at this point for my purposes...

This is how some PXE roms do it:
send RRQ pxelinux.bin tsize
rcv OACK 12345
send ERR

The error packet always terminates the connection, and it's allowed to send
it even if the packet was correct. Some PXE roms even leave the first connection
open, letting the tftp server repeat until they timeout. Not nice ...

BTW: The rom just got the tsize from the first transfer, it should continue:
send RRQ pxelinux.bin
rcv DATA 1
send ACK 1
(and so on ...)

Regards,

Josef
______________________________________________________________________________
UNICEF bittet um Spenden fur die Kinder im Irak! Hier online an
UNICEF spenden: https://spenden.web.de/unicef/special/?mc=021101




More information about the Syslinux mailing list