diff options
author | Michael Brown <mcb30@ipxe.org> | 2021-07-23 11:32:04 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2021-07-23 11:32:04 +0100 |
commit | ea7646be892feca8a34a8f4197768df982ef8e13 (patch) | |
tree | f946e3578a93f63763da196568b1f575060e4329 /src/include/ipxe/cachedhcp.h | |
parent | 4d180be5175e176ec27680557c1d67536a847610 (diff) | |
download | ipxe-cached_proxydhcp.tar.gz |
[efi] Record cached ProxyDHCPOFFER and PXEBSACK, if presentcached_proxydhcp
Commit cd3de55 ("[efi] Record cached DHCPACK from loaded image's
device handle, if present") added the ability for a chainloaded UEFI
iPXE to reuse an IPv4 address and DHCP options previously obtained by
a built-in PXE stack, without needing to perform a second DHCP
request.
Extend this to also record the cached ProxyDHCPOFFER and PXEBSACK
obtained from the EFI_PXE_BASE_CODE_PROTOCOL instance installed on the
loaded image's device handle, if present.
This allows a chainloaded UEFI iPXE to reuse a boot filename or other
options that were provided via a ProxyDHCP or PXE boot server
mechanism, rather than by standard DHCP.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/cachedhcp.h')
-rw-r--r-- | src/include/ipxe/cachedhcp.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/ipxe/cachedhcp.h b/src/include/ipxe/cachedhcp.h index 7765c6455..39ce74543 100644 --- a/src/include/ipxe/cachedhcp.h +++ b/src/include/ipxe/cachedhcp.h @@ -12,6 +12,13 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include <stddef.h> #include <ipxe/uaccess.h> -extern int cachedhcp_record ( userptr_t data, size_t max_len ); +struct cached_dhcp_packet; + +extern struct cached_dhcp_packet cached_dhcpack; +extern struct cached_dhcp_packet cached_proxydhcp; +extern struct cached_dhcp_packet cached_pxebs; + +extern int cachedhcp_record ( struct cached_dhcp_packet *cache, userptr_t data, + size_t max_len ); #endif /* _IPXE_CACHEDHCP_H */ |