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.65; helo=mga03.intel.com; envelope-from=jiaxin.wu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 CD5652034A7BD for ; Mon, 23 Oct 2017 20:11:12 -0700 (PDT) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Oct 2017 20:14:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,424,1503385200"; d="scan'208";a="164102741" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga005.jf.intel.com with ESMTP; 23 Oct 2017 20:14:55 -0700 Received: from fmsmsx151.amr.corp.intel.com (10.18.125.4) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 23 Oct 2017 20:14:55 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX151.amr.corp.intel.com (10.18.125.4) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 23 Oct 2017 20:14:55 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.218]) with mapi id 14.03.0319.002; Tue, 24 Oct 2017 11:14:52 +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 Date: Tue, 24 Oct 2017 03:14:52 +0000 Message-ID: <895558F6EA4E3B41AC93A00D163B72741633FFF0@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> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTU5OGMzYmYtN2UxMy00ZjI5LTlmYTUtN2NhMWM4NGQ4NjZjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6InptRkxWbVwvUUNFMyszWWRrcXE2TGN3QVA3Z3VMUzZtUGdrN0hweUl6OFo4PSJ9 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 03:11:13 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Karunakar, For #3, it's the non-regression issue that will cause the target IP is inva= lid if it's the same with previous one. And I'd like to fix it by another p= atch since it's not related to the InitiatorInfo display. Can you please report another Bugzilla for the ISCSI target address issue? Thanks, Jiaxin > -----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. >=20 > Hi Jiaxin, >=20 > 1. I've verified, IPv6 support condition check for HTTP/ISCSI, It works f= ine 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 de= fault IP > which is same Target IP given in Attempt1. >=20 > Could you please check at your end provide your comments on 3rd one. >=20 > Thank You, > Karunakar >=20 > -----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. >=20 > Hi Karunakar, >=20 > Actually, in my part, I didn't meet the ASSERT no matter the "Ipv6Availab= le" > 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. >=20 > Per my analysis above, it does the issue that may trigger the potential A= SSERT. > So, I refined the patch as version2. The principle of patch v2 is that IP= v6 and > IPv4 should not affect each other even any failure happen, but the origin= al > code doesn't follow that:). >=20 >=20 > Thanks, > Jiaxin >=20 >=20 > > -----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 Iss= ue > 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(Privat= e) > 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 proces= s. > > 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 DHCP) > > > 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 res= et > > > 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 check. > > > -------------------------------------------------------------------- > > > ----------------------- > > --- > > > ------------------------------------------- > > > -> 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/IS= CSI. > > > > > > 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 Pro= tocol. > > > > > > > > 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