From 6bbd4a8f5f2a538e5017045ab75674ec106f7b54 Mon Sep 17 00:00:00 2001 From: Ruiyu Ni Date: Thu, 20 Apr 2017 11:22:35 +0800 Subject: [PATCH 1/1] MdeModulePKg/BDS: Build meaningful description for Wi-Fi boot option Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni Cc: Fan Wang Reviewed-by: Jiaxin Wu --- .../UefiBootManagerLib/BmBootDescription.c | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c index 501a0cc255..6e69a1540a 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c @@ -382,13 +382,13 @@ BmGetNetworkDescription ( // // The PXE device path is like: - // ....../Mac(...)[/Vlan(...)] - // ....../Mac(...)[/Vlan(...)]/IPv4(...) - // ....../Mac(...)[/Vlan(...)]/IPv6(...) + // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)] + // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv4(...) + // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv6(...) // // The HTTP device path is like: - // ....../Mac(...)[/Vlan(...)]/IPv4(...)/Uri(...) - // ....../Mac(...)[/Vlan(...)]/IPv6(...)/Uri(...) + // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv4(...)/Uri(...) + // ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv6(...)/Uri(...) // while (!IsDevicePathEnd (DevicePath) && ((DevicePathType (DevicePath) != MESSAGING_DEVICE_PATH) || @@ -404,6 +404,9 @@ BmGetNetworkDescription ( Mac = (MAC_ADDR_DEVICE_PATH *) DevicePath; DevicePath = NextDevicePathNode (DevicePath); + // + // Locate the optional Vlan node + // if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) && (DevicePathSubType (DevicePath) == MSG_VLAN_DP) ) { @@ -413,6 +416,18 @@ BmGetNetworkDescription ( Vlan = NULL; } + // + // Skip the optional Wi-Fi node + // + if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) && + (DevicePathSubType (DevicePath) == MSG_WIFI_DP) + ) { + DevicePath = NextDevicePathNode (DevicePath); + } + + // + // Locate the IP node + // if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) && ((DevicePathSubType (DevicePath) == MSG_IPv4_DP) || (DevicePathSubType (DevicePath) == MSG_IPv6_DP)) @@ -423,6 +438,9 @@ BmGetNetworkDescription ( Ip = NULL; } + // + // Locate the URI node + // if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) && (DevicePathSubType (DevicePath) == MSG_URI_DP) ) { -- 2.39.2