[syslinux] EFI and proxyDHCP: setups

Patrick Masotta masottaus at yahoo.com
Tue Jun 9 06:05:16 PDT 2015


>>>
 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.

Best,
Patrick

 



More information about the Syslinux mailing list