[syslinux] EFI and proxyDHCP: setups

Gene Cumm gene.cumm at gmail.com
Tue Jun 9 09:54:48 PDT 2015


On Tue, Jun 9, 2015 at 9:05 AM, Patrick Masotta <masottaus at yahoo.com> wrote:
>>>>
>  And I stand corrected Patrick.  Apparently some clients are
>  stuffing bad values into packets and moving the code to save the MAC resolves
>  the deafness I observed.
>  Commit 8a00e49 is the change.
>  --
>  -Gene
> <<<
>
> OK; I was about to ask you a few wiershark captures...
>
>
> I looked at the last commit and I think
>
>     if (mode->PxeReplyReceived)
>         pkt_v4 = &mode->PxeReply.Dhcpv4;
>     else if (mode->ProxyOfferReceived)
>         pkt_v4 = &mode->ProxyOffer.Dhcpv4;
>
> should be replaced by
>
>     if (mode->PxeReplyReceived)
>         pkt_v4 = &mode->PxeReply.Dhcpv4;
>     else if (mode->ProxyOfferReceived)
>         pkt_v4 = &mode->ProxyOffer.Dhcpv4;
>     else
>         pkt_v4 = &mode->DhcpAck.Dhcpv4;
>
> this code is used in
> C:\UDK2014.SP1.P1.Complete\MyWorkSpace\NetworkPkg\UefiPxeBcDxe\PxeBcBoot.c / PxeBcDhcp4BootInfo()
> when looking for boot info.
> I agree it is not 100% clear but it could be necessary on non proxyDHCP situations.
> i.e when the PXE info is contained within the DHCP OFFER/ACK I do not know if in that
> particular case some FWs probably do not populate the ProxyOffer pkt.
> In those cases the last "else" would be necessary.

Such a change makes 0 sense.

1) We already parsed that packet just before the if() statement.

2) pkt_v4 is not used after the parsing in the current code.

-- 
-Gene


More information about the Syslinux mailing list