[syslinux] syslinux.efi pxeboot across multiple subnets

H. Peter Anvin hpa at zytor.com
Fri Nov 8 21:52:32 PST 2013


On 11/08/2013 06:18 PM, Celelibi wrote:
> I tried the patch from hpa directly on branch firmware and I get a
> different (non-working) behavior.
> syslinux.efi is correctly downloaded and my tftp server receive
> requests for ldlinux.e64 and acknowledge options, but receive no
> response at all.
> 
> Actually, what happen is that before any packet is actually sent (and
> Transmit is called), GetModeData return a StationPort = 0. Leading to
> received packets being discarded by the firmware because of the
> non-matching port and the absence of AcceptAnyPort flag.
> Local port, thus, can't be saved before the first call to
> core_udp_send or core_udp_sendto.
> 
> Two possible solutions I see:
> 1) Handle the local port "by hand" instead of relying on the EFI
> implementation to chose it.
> 2) Save the StationPort as soon as it is known similarly to what is
> currently done.
> 

2. is probably the right thing to do.  Pretty much means capturing the
local port in core_udp_sendto().  What a hack.

	-hpa




More information about the Syslinux mailing list