[syslinux] http slow transfer

Gene Cumm gene.cumm at gmail.com
Mon Dec 1 18:26:15 PST 2014


On Mon, Dec 1, 2014 at 7:12 PM, H. Peter Anvin <hpa at zytor.com> wrote:
> On 11/29/2014 09:20 AM, Ferenc Wagner wrote:
>> חץ בן חמו <hetz at benhamo.org> writes:
>>
>>> I've converted a CentOS Live ISO to PXE, and I'm using lpxelinux.0 to boot
>>> it.
>>> Without any HTTP method in the lines, the files are transferring without
>>> any problems, but as soon as I use http, all the transferring action is
>>> super slow - 5-8 times slower compared to stanard TFTP/UDP transfer (with
>>> the same lpxelinux.0)
>>
>> I don't know much about lpxelinux technology, so I can't help you, but
>> usually the first step is taking a packet capture, see
>> http://www.syslinux.org/wiki/index.php/Debugging.  Looking into the dump
>> may provide clues.  The other thing is trying pxelinux.0 atop iPXE with
>> HTTP support (in the simplest case booted from some local device).
>>
>
> My guess is that the UNDI stack in the BIOS is dropping packets.  A
> packet trace would probably reveal that in the form of excessive
> retransmits.

Agreed; the most likely answer.  Even with a TCP sliding window of 1
packet, you'd only match the speed of TFTP, not go slower.  During the
development of the lwIP-enabled variant, there have been other similar
instances and the UNDI ends up effectively being either deaf or
dropping a lot of packets (such that PXELINUX doesn't see the returned
data).

Are you using the precompiled binary bios/core/lpxelinux.0 from the
binary/source archive syslinux-6.03.tar.gz (or one of the alternate
archives) located on kernel.org (
https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz
)?  If not, please try the precompiled binary (at least to "level the
playing field").

If this does not work, specifics about the client may also help
(make/model/firmware version of motherboard/system and the NIC if it's
not onboard).  Also, would you be able to feasibly save the output of
sysdump.c32 ( http://www.syslinux.org/wiki/index.php/Sysdump.c32 )?

-- 
-Gene



More information about the Syslinux mailing list