]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/IScsiDxe/IScsiConfig.c
NetworkPkg/IScsiDxe: Add IPv6 support condition check.
[mirror_edk2.git] / NetworkPkg / IScsiDxe / IScsiConfig.c
index f20f5904640c62a4a15d76bc5094e11eb37927b7..3ce37c59e0435dcd0c9dbdc578ac309ba398a5a3 100644 (file)
@@ -3421,6 +3421,9 @@ IScsiFormCallback (
   ISCSI_CONFIG_IFR_NVDATA     OldIfrNvData;\r
   EFI_STATUS                  Status;\r
   EFI_INPUT_KEY               Key;\r
+  ISCSI_NIC_INFO              *NicInfo;\r
+\r
+  NicInfo = NULL;\r
 \r
   if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) {\r
     //\r
@@ -3591,6 +3594,21 @@ IScsiFormCallback (
     case KEY_IP_MODE:\r
       switch (Value->u8) {\r
       case IP_MODE_IP6:\r
+        NicInfo = IScsiGetNicInfoByIndex (Private->Current->NicIndex); \r
+        if(!NicInfo->Ipv6Available) {                  \r
+             //\r
+          // Current NIC doesn't Support IPv6, hence use IPv4.    \r
+          //    \r
+          IfrNvData->IpMode = IP_MODE_IP4;\r
+               \r
+          CreatePopUp (\r
+            EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,\r
+            &Key,\r
+            L"Current NIC doesn't Support IPv6!",\r
+            NULL\r
+            );\r
+        }\r
+         \r
       case IP_MODE_IP4:\r
         ZeroMem (IfrNvData->LocalIp, sizeof (IfrNvData->LocalIp));\r
         ZeroMem (IfrNvData->SubnetMask, sizeof (IfrNvData->SubnetMask));\r