[syslinux] EFI: PXE: "My IP is 0.0.0.0"

Patrick Masotta masottaus at yahoo.com
Mon Jul 6 03:04:27 PDT 2015


>>> 
 I'm just debating what's the best algorithm here.  It would seem if
 the LoadeImage's DeviceHandle provides UDPv4Sb, use it as
 it's guaranteed to be the same interface.  Otherwise, we need a MNPSb
 (EFI_MANAGED_NETWORK_SERVICE_BINDING) that provides UDPv4Sb 
 across the same interface.  Presumably it should also provide TCPv4Sb
 (rather than being on a separate handle).
 -- 
 -Gene
 <<<

What I've found: 
(from older to newer hardware)

1) There's not "any" SB protocol present (Elitebook 8460p/2560p)
2) SB protocols are loaded under a different that LoadeImage's DeviceHandle,
while Pxebc is loaded under the LoadeImage's DeviceHandle. (Elitebook 8470p/2570p)
3) SB protocols and Pxebc are loaded under the LoadeImage's DeviceHandle (VMware Workstation 10).


About MNPSb; even when it presents the same interface than all the Service Binding protocols
remember we have to create a child of the particular matching protocol and those do not have 
the same interface.


I kept testing my patch and so far it proved to work in a multi-NIC environment:
I've set a VMware EFI client with 2 NICs connected to the same network,
using the VMware  DHCP server and Serva as proxyDHCP.
Setting a MAC filter in Serva I forced the client not receiving PXE redirection parameters 
alternative on NIC_1 or NIC_2; the client always booted correctly from the NIC that received the 
full set of PXE parameters. It seems to work.

It would be really interesting if the HP guys having this issue can give it a try...


Please see the new code at
https://github.com/ppatpat/syslinux/blob/master/efi/main.c

Patched:
efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *table) {}
efi_create_binding(EFI_GUID *bguid, EFI_GUID *pguid) {}


Best,
Patrick
 



More information about the Syslinux mailing list