From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=jiaxin.wu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 E07852034A7DE for ; Tue, 24 Oct 2017 00:16:32 -0700 (PDT) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP; 24 Oct 2017 00:20:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,426,1503385200"; d="scan'208";a="166797371" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga006.fm.intel.com with ESMTP; 24 Oct 2017 00:20:15 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 24 Oct 2017 00:20:15 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Tue, 24 Oct 2017 15:20:13 +0800 From: "Wu, Jiaxin" To: Karunakar P , "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: AQHTRutxHiY7sCoAOk64R2b+EzYtmKLnST/QgAADsoCAAeJJEP//jI8AgACP07CAB9vcgIABNSlg//++ioCAAIaNIA== Date: Tue, 24 Oct 2017 07:20:12 +0000 Message-ID: <895558F6EA4E3B41AC93A00D163B72741634021E@SHSMSX103.ccr.corp.intel.com> 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> <895558F6EA4E3B41AC93A00D163B72741633FFF0@SHSMSX103.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjA4ZjRlNTYtMjc5My00ZDczLWI4OTQtNzI3NDFiODVlMzg4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IkpFZlRLdlBRK2E2ZXdlQXFjMXRmdzF2RkZQNnZsZVZlNU45ZEJpa3RzVXc9In0= x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.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: Tue, 24 Oct 2017 07:16:33 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Karunakar, If you have no more comments, can you reply the below series patches with R= eviewed-by/Tested-By tags, then I can go on the commit process? [Patch v3 0/3] NetworkPkg/IScsiDxe: Display InitiatorInfo correctly. NetworkPkg/IScsiDxe: Fix the incorrect/needless DHCP process. NetworkPkg/IScsiDxe: Clean the previous ConfigData when switchi= ng the IP mode. /// This one is to fix the issue A. NetworkPkg/IScsiDxe: Display InitiatorInfo in attempt page even= DHCP enabled.=20 [Patch v2 0/2] Add IPv6 support condition check. NetworkPkg/HttpBootDxe: Add IPv6 support condition check. /// = B && C have been fixed in version 2. NetworkPkg/IScsiDxe: Add IPv6 support condition check. Thanks, Jiaxin > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Karunakar P > Sent: Tuesday, October 24, 2017 3: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 > HTTP/ISCSI. >=20 > Hi Jiaxin, >=20 > Yes, I believe this issue(#) is not the regression for previous issues we= have > fixed. >=20 > I created a new bug For #3 and below are the details > https://bugzilla.tianocore.org/show_bug.cgi?id=3D743 >=20 > Could you please let me know the scheduled check in date for previously > reported issue/Features >=20 > Thank You, > Karunakar >=20 > -----Original Message----- > From: Wu, Jiaxin [mailto:jiaxin.wu@intel.com] > Sent: Tuesday, October 24, 2017 8:45 AM > 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/ISCSI. >=20 > Hi Karunakar, >=20 > For #3, it's the non-regression issue that will cause the target IP is in= valid if it's > the same with previous one. And I'd like to fix it by another patch since= it's > not related to the InitiatorInfo display. >=20 > Can you please report another Bugzilla for the ISCSI target address issue= ? >=20 > Thanks, > Jiaxin >=20 > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > > Karunakar P > > Sent: Tuesday, October 24, 2017 12:41 AM > > 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 > > HTTP/ISCSI. > > > > Hi Jiaxin, > > > > 1. I've verified, IPv6 support condition check for HTTP/ISCSI, It > > works fine 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 & Target > > IP, Save changes. > > B. If we are trying to add another attempt , It is taking Target IP as > > default IP which is same Target IP given in Attempt1. > > > > 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] > > 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/ISCSI. > > > > Hi Karunakar, > > > > Actually, in my part, I didn't meet the ASSERT no matter the "Ipv6Avail= able" > > returned from HttpBootCheckIpv6Support is true or false. According > > your ASSERT case that happened in Ip4DxeDriverBindingStart, which is > > caused by the FreePool of Private in Ip6DxeDriverBindingStart, so I > > guess the Ip6DxeDriverBindingStart may be involved ahead of > > Ip4DxeDriverBindingStart, then something wrong happened in > > Ip6DxeDriverBindingStart and goto the ON_ERROR (Private is freed > > here!). so, you can add the breakpoint within > > Ip6DxeDriverBindingStart/Ip4DxeDriverBindingStart to check it. > > > > Per my analysis above, it does the issue that may trigger the potential > ASSERT. > > 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 the > > original code doesn't follow that:). > > > > > > 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 > > > HTTP/ISCSI. > > > > > > Hi Jiaxin, > > > > > > 1. Cleaning the ConfigData when switching the mode will resolve the > > > Issue > > A. > > > 2. Will also verify the ASSERT issue and update you. > > > > > > Could you please help in clarifying the below items, 1. Could you > > > please let us know why the ASSERT happens? > > > 2. I've not faced any ASSERT with the changes attached in Bugzilla, > > > Did you find any issues/drawbacks with that? > > > -> In HttpBootCheckIpv6Support () definition Instead of getting > > > -> Ipv6Support > > > from Private->Nii->Ipv6Supported if we open the protocol there > > > itself, Then there will not be issues in Destroying Children or > > > FreePool(Private) > > right. > > > Because we're going to check HttpBootCheckIpv6Support() before > > > opening any instances in HttpBootIp6DxeDriverBindingStart(). > > > > > > Thanks for your great support. > > > > > > 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 > > > HTTP/ISCSI. > > > > > > Hi Karunakar, > > > > > > Thanks your verification. Base on your comments, I refined the > > > series patches as below to fix the issues: > > > > > > [Patch v3 0/3] NetworkPkg/IScsiDxe: Display InitiatorInfo correctly. > > > NetworkPkg/IScsiDxe: Fix the incorrect/needless DHCP proc= ess. > > > NetworkPkg/IScsiDxe: Clean the previous ConfigData when > > > switching the IP mode. /// This one is to fix the issue A. > > > NetworkPkg/IScsiDxe: Display InitiatorInfo in attempt > > > page even DHCP enabled. > > > > > > [Patch v2 0/2] Add IPv6 support condition check. > > > NetworkPkg/HttpBootDxe: Add IPv6 support condition check= . > > > /// B && C have been fixed in version 2. > > > NetworkPkg/IScsiDxe: Add IPv6 support condition check. > > > > > > Please help to verify them. > > > > > > Best Regards, > > > Jiaxin > > > > > > > > > > -----Original Message----- > > > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On > > > > Behalf 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 HTTP/ISCSI. > > > > > > > > Hi Jiaxin, > > > > > > > > I Reviewed the changes for 3 features/Bugs and verified the same, > > > > 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 > > > > changes 2. It displays initiator info properly when it's Enabled > > > > for DHCP 3. But, I found some different behavior in below case > > > > a. Add an Attempt (Attempt1 -> Initiator Info Enabled for DHC= P) > > > > b. On reboot iSCSI attempt was success and Initiator Details > > > > shown properly =3D=3D> This is as expected > > > > c. Edit the same Attempt1 details to IP6 and save changes and r= eset > > > > 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 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 chec= k. > > > > ------------------------------------------------------------------ > > > > -- > > > > ----------------------- > > > --- > > > > ------------------------------------------- > > > > -> This changes looks similar whatever I attached in Bugzilla, and > > > > -> 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 > > > > comments 1. HttpBootCheckIpv6Support() function definition and > > > > function call parameter differs , To correct this I've done 1 > > > > 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 > > > > 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); /= / > > ASSERTs > > > > here > > > > } else { > > > > ..... > > > > > > > > 3. I would like add some points and info about the this ASSERT, > > > > which I've found The ASSERT is happening because of FreePool > > > > (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 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 HTTP/ISCSI. > > > > > > > > Hello Karunakar, > > > > > > > > Base on your original changes attached in Bugzilla 701 > > > > (https://bugzilla.tianocore.org/show_bug.cgi?id=3D710), I created > > > > the formal series patches to support the IPv6 condition check for > HTTP/ISCSI. > > > > > > > > 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 any > > > patch > > > > conflict. > > > > > > > > Thanks, > > > > Jiaxin > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On > > > > > Behalf Of Jiaxin Wu > > > > > Sent: Tuesday, October 17, 2017 9:58 AM > > > > > To: edk2-devel@lists.01.org > > > > > Cc: Karunakar P ; Ye, Ting > > > > > ; Fu, Siyuan ; Wu, > > > > > Jiaxin > > > > > 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 > Protocol. > > > > > > > > > > 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 > > _______________________________________________ > > 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