From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: None (no SPF record) identity=mailfrom; client-ip=203.199.198.232; helo=imsva.in.megatrends.com; envelope-from=karunakarp@amiindia.co.in; receiver=edk2-devel@lists.01.org Received: from IMSVA.IN.MEGATRENDS.COM (Webmail.amiindia.co.in [203.199.198.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AE7342034CF96 for ; Mon, 23 Oct 2017 09:37:22 -0700 (PDT) Received: from IMSVA.IN.MEGATRENDS.COM (IMSVA.IN.MEGATRENDS.COM [127.0.0.1]) by IMSVA (Postfix) with ESMTP id F070982047; Mon, 23 Oct 2017 22:13:57 +0530 (IST) Received: from IMSVA.IN.MEGATRENDS.COM (IMSVA.IN.MEGATRENDS.COM [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D9CB182046; Mon, 23 Oct 2017 22:13:57 +0530 (IST) Received: from webmail.amiindia.co.in (venus2.in.megatrends.com [10.0.0.7]) by IMSVA.IN.MEGATRENDS.COM (Postfix) with ESMTPS; Mon, 23 Oct 2017 22:13:57 +0530 (IST) Received: from VENUS1.in.megatrends.com ([fe80::951:7975:6ecf:eae5]) by Venus2.in.megatrends.com ([fe80::2002:4a07:4f17:c09b%14]) with mapi id 14.03.0248.002; Mon, 23 Oct 2017 22:11:01 +0530 From: Karunakar P To: "'Wu, Jiaxin'" , "edk2-devel@lists.01.org" CC: "Ye, Ting" , "Fu, Siyuan" Thread-Topic: [edk2] [Patch 0/2] Add IPv6 support condition check for HTTP/ISCSI. Thread-Index: AQHTRutzgYZnUvS1QUq9ZfByiwGsxKLm7cOAgADPqOCAAReLAIAAZq7p//+5RgCACLB44A== Date: Mon, 23 Oct 2017 16:41:01 +0000 Message-ID: References: <1508205501-13832-1-git-send-email-jiaxin.wu@intel.com> <895558F6EA4E3B41AC93A00D163B72741633E5F1@SHSMSX103.ccr.corp.intel.com> , <895558F6EA4E3B41AC93A00D163B72741633ECFC@SHSMSX103.ccr.corp.intel.com> <895558F6EA4E3B41AC93A00D163B72741633EE3A@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <895558F6EA4E3B41AC93A00D163B72741633EE3A@SHSMSX103.ccr.corp.intel.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.0.84.128] MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-ERS: 10.0.0.7-127.5.254.15 X-TM-AS-Product-Ver: IMSVA-9.1.0.1600-8.1.0.1062-23414.001 X-TM-AS-Result: No--38.318-5.0-31-10 X-imss-scan-details: No--38.318-5.0-31-10;No--38.318-5.0-31-10 X-TMASE-Version: IMSVA-9.1.0.1600-8.1.1062-23414.001 X-TMASE-Result: 10--38.318300-10.000000 X-TMASE-MatchedRID: Ync95tbzDRmROBVNmXUDuIzb2GR6Ttd36Jj6zYvfFARcKZwALwMGsyNF tqrYR9JPUu2Aiehz1bSNWO/ALyLcr5b5x/qcSShKsyw+ZJnFumQ6En2bnefhoNqCxkzSpW/Xr3Z CZg/WVQitmpf2iRnuMP7DffVOwda7vfdj0TNuJ7bhqJ6oLOc8QaUB+KILVUD9v8D7QPW2jo/mxl PBgd8EzoHyNGdTx3+kjW1yQdzgTKwM0+A2uk9QHQe06kQGFaIWQxhbwXgdp1yUvX/ci5TjsqjPD 2CRrh2KBx+F3/0KUIHtMWwoRLCuahoeu+OCiwrS8eSmTJSmEv2nHBIbyMjCFARmqGGEuVK1NSLa tMg7EYYGZQW7LRP1AW2c8zIhbC63EJHpQ2Y9lURU/2M0RAfTihb6RqpiFT/zsp5O052MzLqtEaJ oVjyWkA/27VowtlhAyv2VYDrpDEldFN0T1voiz4GU23hVIa8hfjJOgArMOCY4YKAM3oRt9s8Hld EBR7Bl/TZ5CupSvNX3ECskxjsFaouwrNxN91/0wCZxkTHxcclKlo6qIxfTgLNC+L5uJOhavCSH3 jFxsa+Gm/0Ltr51jiUTPXtmIyDWcSMuJiCnm+ED2WXLXdz+AVF5adRR2Ej1s6LcaSYUJwM6woIc QIJqTW0C0KIK5VPBm6hKKWWaX31NHjoQx2MmVsnlbo5l7mGF+KgiyLtJrSCgOUc+PAfSO0ttNR/ 47hK8INJHwopqLBkjOz6Zpw1fJH+OhC1J6Q0sngIgpj8eDcA2bJ3DT5mlpKbyPFGTn+O4LL+82T ohWm+nmxwscwVeE90H8LFZNFG7JQhrLH5KSJ0= X-TMASE-SNAP-Result: 1.821001.0001-0-1-12:0,22:0,33:0,34:0,39:0-0 Subject: Re: [Patch 0/2] Add IPv6 support condition check for HTTP/ISCSI. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Oct 2017 16:37:23 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Jiaxin, 1. I've verified, IPv6 support condition check for HTTP/ISCSI, It works fin= e and the ASSERT issue also resolved. 2. Regards Display Initiator IP, It resolves the issues the issues which I'= ve mentioned previously. 3. I found some other issue in ISCSI, Below are the details A. Add Attempt1 with Target Info via Static and provide Target Name & Targe= t IP, Save changes. B. If we are trying to add another attempt , It is taking Target IP as defa= ult IP which is same Target IP given in Attempt1. =20 Could you please check at your end provide your comments on 3rd one. Thank You, Karunakar -----Original Message----- From: Wu, Jiaxin [mailto:jiaxin.wu@intel.com]=20 Sent: Wednesday, October 18, 2017 2:30 PM To: Karunakar P; edk2-devel@lists.01.org Cc: Ye, Ting; Fu, Siyuan Subject: RE: [edk2] [Patch 0/2] Add IPv6 support condition check for HTTP/I= SCSI. Hi Karunakar, Actually, in my part, I didn't meet the ASSERT no matter the "Ipv6Available= " returned from HttpBootCheckIpv6Support is true or false. According your A= SSERT case that happened in Ip4DxeDriverBindingStart, which is caused by th= e FreePool of Private in Ip6DxeDriverBindingStart, so I guess the Ip6DxeDri= verBindingStart may be involved ahead of Ip4DxeDriverBindingStart, then som= ething wrong happened in Ip6DxeDriverBindingStart and goto the ON_ERROR (Pr= ivate is freed here!). so, you can add the breakpoint within Ip6DxeDriverBi= ndingStart/Ip4DxeDriverBindingStart to check it. Per my analysis above, it does the issue that may trigger the potential ASS= ERT. So, I refined the patch as version2. The principle of patch v2 is that= IPv6 and IPv4 should not affect each other even any failure happen, but th= e original code doesn't follow that:). =20 Thanks, Jiaxin > -----Original Message----- > From: Karunakar P [mailto:karunakarp@amiindia.co.in] > Sent: Wednesday, October 18, 2017 4:06 PM > To: Wu, Jiaxin ; edk2-devel@lists.01.org > Cc: Ye, Ting ; Fu, Siyuan > Subject: RE: [edk2] [Patch 0/2] Add IPv6 support condition check for=20 > HTTP/ISCSI. >=20 > Hi Jiaxin, >=20 > 1. Cleaning the ConfigData when switching the mode will resolve the Issue= A. > 2. Will also verify the ASSERT issue and update you. >=20 > Could you please help in clarifying the below items, 1. Could you=20 > please let us know why the ASSERT happens? > 2. I've not faced any ASSERT with the changes attached in Bugzilla,=20 > Did you find any issues/drawbacks with that? > -> In HttpBootCheckIpv6Support () definition Instead of getting=20 > -> Ipv6Support > from Private->Nii->Ipv6Supported if we open the protocol there itself,=20 > Then there will not be issues in Destroying Children or FreePool(Private)= right. > Because we're going to check HttpBootCheckIpv6Support() before=20 > opening any instances in HttpBootIp6DxeDriverBindingStart(). >=20 > Thanks for your great support. >=20 > Thank You, > Karunakar > ________________________________________ > From: Wu, Jiaxin [jiaxin.wu@intel.com] > Sent: 18 October 2017 12:35 > To: Karunakar P; edk2-devel@lists.01.org > Cc: Ye, Ting; Fu, Siyuan > Subject: RE: [edk2] [Patch 0/2] Add IPv6 support condition check for=20 > HTTP/ISCSI. >=20 > Hi Karunakar, >=20 > Thanks your verification. Base on your comments, I refined the series=20 > patches as below to fix the issues: >=20 > [Patch v3 0/3] NetworkPkg/IScsiDxe: Display InitiatorInfo correctly. > NetworkPkg/IScsiDxe: Fix the incorrect/needless DHCP process. > NetworkPkg/IScsiDxe: Clean the previous ConfigData when=20 > switching the IP mode. /// This one is to fix the issue A. > NetworkPkg/IScsiDxe: Display InitiatorInfo in attempt page=20 > even DHCP enabled. >=20 > [Patch v2 0/2] Add IPv6 support condition check. > NetworkPkg/HttpBootDxe: Add IPv6 support condition check.=20 > /// B && C have been fixed in version 2. > NetworkPkg/IScsiDxe: Add IPv6 support condition check. >=20 > Please help to verify them. >=20 > Best Regards, > Jiaxin >=20 >=20 > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf=20 > > Of Karunakar P > > Sent: Tuesday, October 17, 2017 6:13 PM > > To: Wu, Jiaxin ; edk2-devel@lists.01.org > > Cc: Ye, Ting ; Fu, Siyuan > > Subject: Re: [edk2] [Patch 0/2] Add IPv6 support condition check for=20 > > HTTP/ISCSI. > > > > Hi Jiaxin, > > > > I Reviewed the changes for 3 features/Bugs and verified the same,=20 > > Please find my below comments and issues faced > > > > A. Display InitiatorInfo in attempt page even DHCP enabled > > -------------------------------------------------------------------- > > ----------------------- > --- > > -------------------------------------------- > > 1. I applied IScsiConfigVfr.vfr changes and as well IScsiMisc.c=20 > > changes 2. It displays initiator info properly when it's Enabled for=20 > > DHCP 3. But, I found some different behavior in below case > > a. Add an Attempt (Attempt1 -> Initiator Info Enabled for DHCP) > > b. On reboot iSCSI attempt was success and Initiator Details=20 > > shown properly =3D=3D> This is as expected > > c. Edit the same Attempt1 details to IP6 and save changes and reset > > d. Now Iscsi connection with IP6 =3D=3D> This is as Expected > > e. Now if we again Change the Attempt1 to IP4, It is Displaying=20 > > Subnet Mask =3D=3D> I guess we are not clearing It > > > > I guess we need to do ZeroMem for initiator details before. > > > > > > B. [Patch 2/2] NetworkPkg/IScsiDxe: Add IPv6 support condition check. > > -------------------------------------------------------------------- > > ----------------------- > --- > > ------------------------------------------- > > -> This changes looks similar whatever I attached in Bugzilla, and=20 > > -> verified > the > > same with off board card witch doesn't support IP6 > > -> It works fine, I didn't find any issues on it. > > > > > > C. [Patch 1/2] NetworkPkg/HttpBootDxe: Add IPv6 support condition check= . > > -------------------------------------------------------------------- > > ----------------------- > --- > > -------------------------------------------------------------------- > > ---- I found some issues in this changes, please find my below=20 > > comments 1. HttpBootCheckIpv6Support() function definition and=20 > > function call parameter differs , To correct this I've done 1=20 > > insertion(+), 1 deletion(-) like below ... > > +HttpBootCheckIpv6Support ( > > + IN EFI_HANDLE ControllerHandle, > > + IN HTTP_BOOT_PRIVATE_DATA *Private, > > + OUT BOOLEAN *Ipv6Support > > + ) > > ... > > + // Set IPv6 available flag. > > + // > > + Status =3D HttpBootCheckIpv6Support (ControllerHandle, > > -This->DriverBindingHandle, &Ipv6Available); > > +Private, &Ipv6Available); > > ... > > > > 2. With the above changes I've verified with Off board card which=20 > > doesn't support IP6, But I'm facing below ASSERT > > (324): CR has Bad Signature > > > > EFI_STATUS > > EFIAPI > > HttpBootIp4DxeDriverBindingStart ( > > IN EFI_DRIVER_BINDING_PROTOCOL *This, > > IN EFI_HANDLE ControllerHandle, > > IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL > > ) > > { > > ... > > if (!EFI_ERROR (Status)) { > > Private =3D HTTP_BOOT_PRIVATE_DATA_FROM_ID(Id); // AS= SERTs > > here > > } else { > > ..... > > > > 3. I would like add some points and info about the this ASSERT,=20 > > which I've found The ASSERT is happening because of FreePool=20 > > (Private), mentioned exact line no below > > > > EFI_STATUS > > EFIAPI > > HttpBootIp6DxeDriverBindingStart ( > > IN EFI_DRIVER_BINDING_PROTOCOL *This, > > IN EFI_HANDLE ControllerHandle, > > IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL > > ) > > { > > ... > > Status =3D gBS->InstallProtocolInterface ( > > &ControllerHandle, > > &gEfiCallerIdGuid, > > EFI_NATIVE_INTERFACE, > > &Private->Id > > ); > > if (EFI_ERROR (Status)) { > > goto ON_ERROR; > > } > > > > } > > + > > + // > > + // Set IPv6 available flag. > > + // > > + Status =3D HttpBootCheckIpv6Support (ControllerHandle, > > -This->DriverBindingHandle, &Ipv6Available); > > +Private, &Ipv6Available); > > + if (EFI_ERROR (Status)) { > > + // > > + // Fail to get the data whether UNDI supports IPv6. > > + // Set default value to TRUE. > > + // > > + Ipv6Available =3D TRUE; > > + } > > + > > + if (!Ipv6Available) { > > + return EFI_UNSUPPORTED; > > + } > > > > if (Private->Ip6Nic !=3D NULL) { > > // > > ... > > > > ON_ERROR: > > > > HttpBootDestroyIp6Children(This, Private); > > HttpBootConfigFormUnload (Private); > > FreePool (Private); = // If I comment this > > line ASSERT is not happening > > > > return Status; > > } > > > > 4. At your end could you please verify this IP6 Condition check for=20 > > HTTP > > > > Please correct if anything is wrong, Thanks for your support > > > > > > Thank You, > > Karunakar > > > > -----Original Message----- > > From: Wu, Jiaxin [mailto:jiaxin.wu@intel.com] > > Sent: Tuesday, October 17, 2017 7:32 AM > > To: Wu, Jiaxin; edk2-devel@lists.01.org > > Cc: Karunakar P; Ye, Ting; Fu, Siyuan > > Subject: RE: [edk2] [Patch 0/2] Add IPv6 support condition check for=20 > > HTTP/ISCSI. > > > > Hello Karunakar, > > > > Base on your original changes attached in Bugzilla 701=20 > > (https://bugzilla.tianocore.org/show_bug.cgi?id=3D710), I created the=20 > > formal series patches to support the IPv6 condition check for HTTP/ISCS= I. > > > > Please help to review/verify it. > > > > BTW, To review the ISCSI part, please apply the "[Patch v2 0/2] > > NetworkPkg/IScsiDxe: Display InitiatorInfo correctly" first to avoid=20 > > any > patch > > conflict. > > > > Thanks, > > Jiaxin > > > > > > > > > -----Original Message----- > > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On=20 > > > Behalf Of Jiaxin Wu > > > Sent: Tuesday, October 17, 2017 9:58 AM > > > To: edk2-devel@lists.01.org > > > Cc: Karunakar P ; Ye, Ting=20 > > > ; Fu, Siyuan ; Wu, Jiaxin=20 > > > > > > Subject: [edk2] [Patch 0/2] Add IPv6 support condition check for > > HTTP/ISCSI. > > > > > > Base on the request of > > > https://bugzilla.tianocore.org/show_bug.cgi?id=3D710, > > > we provide this patch to IPv6 condition check by leveraging AIP Proto= col. > > > > > > Cc: Karunakar P > > > Cc: Ye Ting > > > Cc: Fu Siyuan > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > > Signed-off-by: Karunakar P > > > Signed-off-by: Wu Jiaxin > > > > > > Jiaxin Wu (2): > > > NetworkPkg/HttpBootDxe: Add IPv6 support condition check. > > > NetworkPkg/IScsiDxe: Add IPv6 support condition check. > > > > > > NetworkPkg/HttpBootDxe/HttpBootDxe.c | 115 > > > +++++++++++++++++++++++++++- > > > NetworkPkg/HttpBootDxe/HttpBootDxe.h | 2 + > > > NetworkPkg/HttpBootDxe/HttpBootDxe.inf | 4 +- > > > NetworkPkg/IScsiDxe/IScsiConfig.c | 18 +++++ > > > NetworkPkg/IScsiDxe/IScsiDriver.c | 2 +- > > > NetworkPkg/IScsiDxe/IScsiDriver.h | 1 + > > > NetworkPkg/IScsiDxe/IScsiDxe.inf | 2 + > > > NetworkPkg/IScsiDxe/IScsiImpl.h | 1 + > > > NetworkPkg/IScsiDxe/IScsiMisc.c | 135 > > > ++++++++++++++++++++++++++++++++- > > > NetworkPkg/IScsiDxe/IScsiMisc.h | 4 +- > > > 10 files changed, 278 insertions(+), 6 deletions(-) > > > > > > -- > > > 1.9.5.msysgit.1 > > > > > > _______________________________________________ > > > edk2-devel mailing list > > > edk2-devel@lists.01.org > > > https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel