]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[cachedhcp] Include VLAN tag in filter for applying cached DHCPACK
authorMichael Brown <mcb30@ipxe.org>
Thu, 22 Dec 2022 14:59:29 +0000 (14:59 +0000)
committerMichael Brown <mcb30@ipxe.org>
Thu, 22 Dec 2022 14:59:29 +0000 (14:59 +0000)
commit60b5532cfc1393a8d34cece1b49f953bd72c303c
tree385698046b0150b477cd13794b6a6914a3ab830b
parentb9571ca12ed80472051663e2618dfe083f995da3
[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>
src/arch/x86/interface/pcbios/bios_cachedhcp.c
src/core/cachedhcp.c
src/include/ipxe/cachedhcp.h
src/include/ipxe/efi/efi_cachedhcp.h
src/interface/efi/efi_cachedhcp.c
src/interface/efi/efiprefix.c