On 8/15/06, Marten <[EMAIL PROTECTED]> wrote:

<quote>
Ethereal showed that only the 1st block of 512 bytes was being sent from
the server and being acknowkedged. Block 2 was sent, but never acked.
(It didn't acknowledge because it already started booting!)
Given that the file pxeboot was 200KB, something was wrong.


if you had used tcpdump -Xs 99 you would have seen in the first few
packets of the negotiation, the wrap netboot client sent a request for
changing the packet length. This was silently ignored by the OpenBSD
tftpd, because it is not supported. When the wrap recieved a packet
smaller than the packetlength it asked for, it assumed EOF and began
executing....

If i remember right the packetlength for the send buffer on tftpd is
implemented as a global variable in netbsd's implementation that is
modified by this command from the client. I havn't used it, but from
code it looks like it would work for wrap.  Netbsd's method is not so
easy to port over, as they extended the server/client command
framework to something very different (and kindof scary).

dump what the wrap is requesting (i beleive the command sent to server
is packetlength xxxx?) and hardcode xxxx as the sendbuffer in tftpd
and recompile for a quick workaround.

Reply via email to