
On Tue, Aug 06, 2019 at 08:52:09PM +0200, Heinrich Schuchardt wrote:
EFI_PXE_BASE_CODE_PACKET DhcpAck is a union:
typedef union { UINT8 Raw[1472]; EFI_PXE_BASE_CODE_DHCPV4_PACKET Dhcpv4; EFI_PXE_BASE_CODE_DHCPV6_PACKET Dhcpv6; } EFI_PXE_BASE_CODE_PACKET;
Should the check be done in grub_efi_net_config_real()?
Possibly. I've cc:d Peter since he's the last person I know who took a proper look at this.
That's actually what we've got in our current patch set, based on Michael Chang at SuSE's https work. Javier Martinez (cc'd) is working on getting those ready for upstream, but in the mean time, check out the patches nearby to:
https://github.com/rhboot/grub2/commit/4f977935a9271727bf21889526fdf82f0fc8f...
Thank you for the link.
There are currently no plans to implement these device paths in U-Boot:
- IPv4 Device Path
- IPv6 Device Path
- Uniform Resource Identifiers (URI) Device Path
I assume that these device paths would only be installed on handles implementing the EFI DHCPv4 Protocol or the EFI DHCPv6 Protocol but could not identify the relevant information in the specification.
10.3.4.12/13 (UEFI 2.8 spec) for IPv4/IPv6. 10.3.4.23 for URI. (And 10.3.4.21 for iSCSI.)
But if you are only asking because you found the (NULLed-out) PXE protocol implemented, then I would suggest we can ignore this for now.
I guess it could be useful for netbooting GRUB (the device paths, and passing DHCP information retrieved by U-Boot into GRUB), not the EFI_PXE_BASE_CODE_PROTOCOL).
/ Leif