MdeModulePKg/BDS: Build meaningful description for Wi-Fi boot option
authorRuiyu Ni <ruiyu.ni@intel.com>
Thu, 20 Apr 2017 03:22:35 +0000 (11:22 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Wed, 26 Apr 2017 01:25:54 +0000 (09:25 +0800)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Fan Wang <fan.wang@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c

index 501a0cc..6e69a15 100644 (file)
@@ -382,13 +382,13 @@ BmGetNetworkDescription (
 \r
   //\r
   // The PXE device path is like:\r
-  //   ....../Mac(...)[/Vlan(...)]\r
-  //   ....../Mac(...)[/Vlan(...)]/IPv4(...)\r
-  //   ....../Mac(...)[/Vlan(...)]/IPv6(...)\r
+  //   ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]\r
+  //   ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv4(...)\r
+  //   ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv6(...)\r
   //\r
   // The HTTP device path is like:\r
-  //   ....../Mac(...)[/Vlan(...)]/IPv4(...)/Uri(...)\r
-  //   ....../Mac(...)[/Vlan(...)]/IPv6(...)/Uri(...)\r
+  //   ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv4(...)/Uri(...)\r
+  //   ....../Mac(...)[/Vlan(...)][/Wi-Fi(...)]/IPv6(...)/Uri(...)\r
   //\r
   while (!IsDevicePathEnd (DevicePath) &&\r
          ((DevicePathType (DevicePath) != MESSAGING_DEVICE_PATH) ||\r
@@ -404,6 +404,9 @@ BmGetNetworkDescription (
   Mac = (MAC_ADDR_DEVICE_PATH *) DevicePath;\r
   DevicePath = NextDevicePathNode (DevicePath);\r
 \r
+  //\r
+  // Locate the optional Vlan node\r
+  //\r
   if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&\r
       (DevicePathSubType (DevicePath) == MSG_VLAN_DP)\r
       ) {\r
@@ -413,6 +416,18 @@ BmGetNetworkDescription (
     Vlan = NULL;\r
   }\r
 \r
+  //\r
+  // Skip the optional Wi-Fi node\r
+  //\r
+  if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&\r
+      (DevicePathSubType (DevicePath) == MSG_WIFI_DP)\r
+      ) {\r
+    DevicePath = NextDevicePathNode (DevicePath);\r
+  }\r
+\r
+  //\r
+  // Locate the IP node\r
+  //\r
   if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&\r
       ((DevicePathSubType (DevicePath) == MSG_IPv4_DP) ||\r
        (DevicePathSubType (DevicePath) == MSG_IPv6_DP))\r
@@ -423,6 +438,9 @@ BmGetNetworkDescription (
     Ip = NULL;\r
   }\r
 \r
+  //\r
+  // Locate the URI node\r
+  //\r
   if ((DevicePathType (DevicePath) == MESSAGING_DEVICE_PATH) &&\r
       (DevicePathSubType (DevicePath) == MSG_URI_DP)\r
       ) {\r