[syslinux] [PATCH 0/1] EFI PXE DHCP/proxyDHCP issues fix

Gene Cumm
Sat, 06 Jun 2015 10:19:10 -0000

On Wed, Jun 3, 2015 at 3:25 PM, Jeff via Syslinux <syslinux at zytor.com>
wrote:
> The UEFI PXE boot DHCP/proxyDHCP issue is very timely. I am working on
> that very topic now.

> Our environment:

> The real DHCP server supplies client ip address only. Everything else
> comes from proxyDHCP.

> Problem 2:
>
> The next problem is packet parsing and incomplete ip address sets on the
> syslinux side. The basic issue is that the packets are incomplete or not
> used in a proxyDHCP environment. The real DHCP Offer/Ack contains the
> client ip. The proxy Offer contains the server ip. We also have to grab
> the gateway and subnet mask. There is no single packet or location where
> all the addresses are contained. The most complete struct that I found is
> the IPInfo but even there the server ip is incorrect. So we need to either
> build and populate a complete struct for proxy or pull from several
> different packets when needed.
>
> Failing scenario/behavior for problem 2:
>
> After syslinux.efi is downloaded and execution begins, no further Ethernet
> communication occurs. This is caused by incomplete packets that are
> dropped in the client instead of being sent. The return code is
> EFI_UNSUPPORTED but the error is ignored after the return from the UDP
> send command in BIOS. Should this be handled differently?
>
> Resolution for problem 2:
>
> This is my implementation. Hopefully it is a good start to help us get to
> the correct approach. In pxe.c, I populate DhcpAck packet with all of the
> correct ip addresses and netmask. In udp.c, at the end, I disable
> UseDefaultAddress and populate missing correct ip addresses. Details and
> code below.
>
> My approach:

> Thoughts?

1) It's not a diff.

2) What exact version or commit ID is this patch attempt based on?

3) If you have a system that successfully can build Syslinux EFI, have
you tried commit ID 81eeaa3?

--
-Gene