- case KEY_IGNORE_DELETE_ATTEMPT:\r
- CopyMem (\r
- IfrNvData->DeleteAttemptList,\r
- OldIfrNvData.DeleteAttemptList,\r
- sizeof (IfrNvData->DeleteAttemptList)\r
- );\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT;\r
- break;\r
+ case KEY_IP_MODE:\r
+ switch (Value->u8) {\r
+ case IP_MODE_IP6:\r
+ NicInfo = IScsiGetNicInfoByIndex (Private->Current->NicIndex);\r
+ if (NicInfo == NULL) {\r
+ break;\r
+ }\r
+\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
+ ZeroMem (IfrNvData->Gateway, sizeof (IfrNvData->Gateway));\r
+ ZeroMem (IfrNvData->TargetIp, sizeof (IfrNvData->TargetIp));\r
+ Private->Current->AutoConfigureMode = 0;\r
+ ZeroMem (&Private->Current->SessionConfigData.LocalIp, sizeof (EFI_IP_ADDRESS));\r
+ ZeroMem (&Private->Current->SessionConfigData.SubnetMask, sizeof (EFI_IPv4_ADDRESS));\r
+ ZeroMem (&Private->Current->SessionConfigData.Gateway, sizeof (EFI_IP_ADDRESS));\r
+ ZeroMem (&Private->Current->SessionConfigData.TargetIp, sizeof (EFI_IP_ADDRESS));\r