summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/IScsiDxe/IScsiConfig.c
diff options
context:
space:
mode:
authorJiaxin Wu <jiaxin.wu@intel.com>2017-10-17 09:48:37 +0800
committerJiaxin Wu <jiaxin.wu@intel.com>2017-10-26 16:21:16 +0800
commit6b08dd6eb81d729e3df8329bee7b2a04a5bd4d7a (patch)
tree6033719f4804d602e928f0118e6ddca906b4e644 /NetworkPkg/IScsiDxe/IScsiConfig.c
parented247d86c281154dff6d04b3e9c96a79a7fb0826 (diff)
downloadedk2-6b08dd6eb81d729e3df8329bee7b2a04a5bd4d7a.tar.gz
edk2-6b08dd6eb81d729e3df8329bee7b2a04a5bd4d7a.tar.bz2
edk2-6b08dd6eb81d729e3df8329bee7b2a04a5bd4d7a.zip
NetworkPkg/IScsiDxe: Add IPv6 support condition check.
Base on the request of https://bugzilla.tianocore.org/show_bug.cgi?id=710, we provide this patch to IPv6 condition check by leveraging AIP Protocol. Cc: Karunakar P <karunakarp@amiindia.co.in> Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Karunakar P <karunakarp@amiindia.co.in> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Karunakar p <karunakarp@amiindia.co.in> Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
Diffstat (limited to 'NetworkPkg/IScsiDxe/IScsiConfig.c')
-rw-r--r--NetworkPkg/IScsiDxe/IScsiConfig.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/NetworkPkg/IScsiDxe/IScsiConfig.c b/NetworkPkg/IScsiDxe/IScsiConfig.c
index f20f590464..3ce37c59e0 100644
--- a/NetworkPkg/IScsiDxe/IScsiConfig.c
+++ b/NetworkPkg/IScsiDxe/IScsiConfig.c
@@ -3421,6 +3421,9 @@ IScsiFormCallback (
ISCSI_CONFIG_IFR_NVDATA OldIfrNvData;
EFI_STATUS Status;
EFI_INPUT_KEY Key;
+ ISCSI_NIC_INFO *NicInfo;
+
+ NicInfo = NULL;
if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) {
//
@@ -3591,6 +3594,21 @@ IScsiFormCallback (
case KEY_IP_MODE:
switch (Value->u8) {
case IP_MODE_IP6:
+ NicInfo = IScsiGetNicInfoByIndex (Private->Current->NicIndex);
+ if(!NicInfo->Ipv6Available) {
+ //
+ // Current NIC doesn't Support IPv6, hence use IPv4.
+ //
+ IfrNvData->IpMode = IP_MODE_IP4;
+
+ CreatePopUp (
+ EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
+ &Key,
+ L"Current NIC doesn't Support IPv6!",
+ NULL
+ );
+ }
+
case IP_MODE_IP4:
ZeroMem (IfrNvData->LocalIp, sizeof (IfrNvData->LocalIp));
ZeroMem (IfrNvData->SubnetMask, sizeof (IfrNvData->SubnetMask));