mirror of
https://github.com/ipxe/ipxe
synced 2025-12-17 01:52:08 +03:00
[autoboot] Include VLAN tag in filter for identifying autoboot device
When chainloading iPXE from a VLAN device, the MAC address of the loaded image's device handle will match the MAC address of the trunk device created by iPXE, and the autoboot process will then erroneously consider the trunk device to be an autoboot device. Fix by recording the VLAN tag along with the MAC address, and treating the VLAN tag as part of the filter used to match the MAC address against candidate network devices. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -11,6 +11,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
|
||||
#include <ipxe/efi/efi.h>
|
||||
|
||||
extern int efi_set_autoboot_ll_addr ( EFI_HANDLE device );
|
||||
extern int efi_set_autoboot_ll_addr ( EFI_HANDLE device,
|
||||
EFI_DEVICE_PATH_PROTOCOL *path );
|
||||
|
||||
#endif /* _IPXE_EFI_AUTOBOOT_H */
|
||||
|
||||
@@ -28,7 +28,8 @@ enum uriboot_flags {
|
||||
|
||||
extern void set_autoboot_busloc ( unsigned int bus_type,
|
||||
unsigned int location );
|
||||
extern void set_autoboot_ll_addr ( const void *ll_addr, size_t len );
|
||||
extern void set_autoboot_ll_addr ( const void *ll_addr, size_t len,
|
||||
unsigned int vlan );
|
||||
|
||||
extern int uriboot ( struct uri *filename, struct uri **root_paths,
|
||||
unsigned int root_path_count, int drive,
|
||||
|
||||
Reference in New Issue
Block a user