aboutsummaryrefslogtreecommitdiff
path: root/src/include/ipxe/efi/efi_cachedhcp.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2022-12-22 14:59:29 +0000
committerMichael Brown <mcb30@ipxe.org>2022-12-22 14:59:29 +0000
commit60b5532cfc1393a8d34cece1b49f953bd72c303c (patch)
tree385698046b0150b477cd13794b6a6914a3ab830b /src/include/ipxe/efi/efi_cachedhcp.h
parentb9571ca12ed80472051663e2618dfe083f995da3 (diff)
downloadipxe-60b5532cfc1393a8d34cece1b49f953bd72c303c.zip
ipxe-60b5532cfc1393a8d34cece1b49f953bd72c303c.tar.gz
ipxe-60b5532cfc1393a8d34cece1b49f953bd72c303c.tar.bz2
[cachedhcp] Include VLAN tag in filter for applying cached DHCPACK
When chainloading iPXE from a VLAN device, the MAC address within the cached DHCPACK will match the MAC address of the trunk device created by iPXE, and the cached DHCPACK will then end up being erroneously applied to the trunk device. This tends to break outbound IPv4 routing, since both the trunk and VLAN devices will have the same assigned IPv4 address. Fix by recording the VLAN tag along with the cached DHCPACK, and treating the VLAN tag as part of the filter used to match the cached DHCPACK against candidate network devices. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/efi/efi_cachedhcp.h')
-rw-r--r--src/include/ipxe/efi/efi_cachedhcp.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/include/ipxe/efi/efi_cachedhcp.h b/src/include/ipxe/efi/efi_cachedhcp.h
index cd60d40..5968a1e 100644
--- a/src/include/ipxe/efi/efi_cachedhcp.h
+++ b/src/include/ipxe/efi/efi_cachedhcp.h
@@ -11,6 +11,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <ipxe/efi/efi.h>
-extern int efi_cachedhcp_record ( EFI_HANDLE device );
+extern int efi_cachedhcp_record ( EFI_HANDLE device,
+ EFI_DEVICE_PATH_PROTOCOL *path );
#endif /* _IPXE_EFI_CACHEDHCP_H */