mirror of https://github.com/ipxe/ipxe.git
[efi] Create VLAN autoboot device automatically
When chainloading iPXE from an EFI VLAN device, configure the corresponding iPXE VLAN device to be created automatically. Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/852/head
parent
f07630c74f
commit
2dcef4b7a1
|
@ -25,6 +25,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <ipxe/if_ether.h>
|
||||||
|
#include <ipxe/vlan.h>
|
||||||
#include <ipxe/efi/efi.h>
|
#include <ipxe/efi/efi.h>
|
||||||
#include <ipxe/efi/efi_path.h>
|
#include <ipxe/efi/efi_path.h>
|
||||||
#include <ipxe/efi/efi_autoboot.h>
|
#include <ipxe/efi/efi_autoboot.h>
|
||||||
|
@ -81,6 +83,13 @@ int efi_set_autoboot_ll_addr ( EFI_HANDLE device,
|
||||||
efi_handle_name ( device ), vlan );
|
efi_handle_name ( device ), vlan );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Configure automatic VLAN device, if applicable */
|
||||||
|
if ( vlan && ( mode->HwAddressSize == ETH_ALEN ) ) {
|
||||||
|
vlan_auto ( &mode->CurrentAddress, vlan );
|
||||||
|
DBGC ( device, "EFI %s configured automatic VLAN %d\n",
|
||||||
|
efi_handle_name ( device ), vlan );
|
||||||
|
}
|
||||||
|
|
||||||
/* Close protocol */
|
/* Close protocol */
|
||||||
bs->CloseProtocol ( device, &efi_simple_network_protocol_guid,
|
bs->CloseProtocol ( device, &efi_simple_network_protocol_guid,
|
||||||
efi_image_handle, NULL );
|
efi_image_handle, NULL );
|
||||||
|
|
Loading…
Reference in New Issue