From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 209A1803D2 for ; Mon, 13 Mar 2017 18:54:19 -0700 (PDT) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Mar 2017 18:54:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,162,1486454400"; d="scan'208";a="75740415" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga005.fm.intel.com with ESMTP; 13 Mar 2017 18:54:18 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 13 Mar 2017 18:54:18 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 13 Mar 2017 18:54:18 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.88]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.204]) with mapi id 14.03.0248.002; Tue, 14 Mar 2017 09:54:15 +0800 From: "Zhang, Lubo" To: Santhapur Naveen CC: "Ye, Ting" , "edk2-devel@lists.01.org" Thread-Topic: ISCSI says "Session Doesn't Exist" Thread-Index: AdKOo1PNr5oKc1KtQkGfr5/iCtjCdwCKemiwABmDlokAGveAcAKxb8qw Date: Tue, 14 Mar 2017 01:54:14 +0000 Message-ID: <7619447B08B8F74DA4FF2A813B79803B39B01E60@shsmsx102.ccr.corp.intel.com> References: <625A2455CC232F40B0F38F05ACED6D978C4E1F3B@VENUS1.in.megatrends.com>, <625A2455CC232F40B0F38F05ACED6D978C4E2EFB@VENUS1.in.megatrends.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: ISCSI says "Session Doesn't Exist" X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Mar 2017 01:54:19 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Naveen For this issue you mentioned, I have found the root cause. After we es= tablished the iSCSI connection between initiator and target server, if we u= se the following command immediately=20 Reset command (system power off, will not perform driver binding stop, from= my debug log) : we can rebuilt the iSCSI connection if the target is deplo= yed on Debain OS, but failed on windows server, this is the target server b= ehavior. Since we do not send the reset packet on my platform, so the windo= ws target server think our session is still exist and reject the new sessio= n request. Reconnect -r: this command will execute the iSCSI driver binding stop func= tion and reset the TCP connection actively. But we cannot capture the reset= packet either. I debugged and find that before we reset the socket in ISc= siSessionAbort, the socket configured state has already been set as unconfi= gured in tcp driver binding stop , so we will not invoke the TCP dispatch t= o abort the connection by sending a reset packet. This is a Tcp service binding destroy child issue, I will send a patch to = fix. Best regards Lubo -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ye, = Ting Sent: Tuesday, February 28, 2017 4:53 PM To: Santhapur Naveen ; edk2-devel@lists.01.org Subject: Re: [edk2] ISCSI says "Session Doesn't Exist" Hi Naveen, Thanks for your info. We are able to reproduce the issue using Windows Serv= er 2012 now. So far we are still not sure whether it is a particular issue = in Windows iSCSI target or UEFI iSCSI initiator. Will update to you once we have further information later.=20 For your info: A link describes the know issues in Windows Server 2012 iSCS= I target, https://technet.microsoft.com/en-us/library/jj863561(v=3Dws.11).a= spx. It has a related issue but not the same one we met now.=20 Standard Login Key Negotiation RFC 3720, section 10.13.3, specifies the following: For a new session, the target MUST generate a non-zero TSIH and ONLY return= it in the Login Final-Response. The behavior exhibited by ISCSI Target Server: When the iSCSI initiator performed a standard login and negotiated the logi= n parameters, the iSCSI Target Server was observed to set the TSIH field in= the first Login Response PDU. Thanks, Ting -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Sant= hapur Naveen Sent: Tuesday, February 28, 2017 4:04 AM To: Ye, Ting ; edk2-devel@lists.01.org Subject: Re: [edk2] ISCSI says "Session Doesn't Exist" Hello Ting, I've configured iSCSI target in Windows Server 2012. And the procedure is s= imilar as in https://blogs.technet.microsoft.com/filecab/2012/05/21/introdu= ction-of-iscsi-target-in-windows-server-2012/ Please let me know if I had to make any changes to my iSCSI server. Thank you, Naveen ________________________________________ From: Ye, Ting [ting.ye@intel.com] Sent: Monday, February 27, 2017 1:23 PM To: Santhapur Naveen; edk2-devel@lists.01.org Subject: RE: ISCSI says "Session Doesn't Exist" Hi Naveen, According to the table you shared (defined in RFC 3720), it seems when TSIH= is ZERO, the target should not fail the login with "session does not exist= ". +------------------------------------------------------------------+ |new | zero | any | instantiate a new session | +------------------------------------------------------------------+ |existing | zero | any | do session reinstatement | | | | | (see section 5.3.5) | +------------------------------------------------------------------+ I checked the latest code in NetworkPkg/IScsiDxe, the Tsih is always set to= ZERO in IScsiSessionInit. The immediate reset will also trigger driver bin= ding start so IScsiSessionInit will be executed. It seems to me your iSCSI target does not comply with the rules defined in = RFC documentation. If possible, would you please tell us which iSCSI target= are you using? Thanks, Ting -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Sant= hapur Naveen Sent: Friday, February 24, 2017 9:59 PM To: edk2-devel@lists.01.org Subject: [edk2] ISCSI says "Session Doesn't Exist" Hello all, I've a question about IScsi and any suggestions would be helpful [Issue Summary] If I add an ISCSI attempt and on the next reboot, a connection will be esta= blished in between the initiator and the target. Till now, it is fine. Now = if I do an immediate reset with in 20 seconds, on the next boot, the initia= tor is trying to establish a session, but the target rejects saying "Sessio= n does not exist". If I reset after 20 seconds or so, the connection would = have been established with the same login details. To dive deeper, I've checked the RFC documentation on this and found the fo= llowing information. But when I checked the wireshark capture, I found my T= SIH is ZERO even for the immediate session. If I want to make my immediate = session also into a successful one, what should I be doing? I'm aware that = there's a function available IScsiSessionAbort(). Would it help me or provi= de your suggestions to get me going. +------------------------------------------------------------------+ |ISID | TSIH | CID | Target action | +------------------------------------------------------------------+ |new | non-zero | any | fail the login | | | | | ("session does not exist") | +------------------------------------------------------------------+ |new | zero | any | instantiate a new session | +------------------------------------------------------------------+ |existing | zero | any | do session reinstatement | | | | | (see section 5.3.5) | +------------------------------------------------------------------+ |existing | non-zero | new | add a new connection to | | | existing | | the session | +------------------------------------------------------------------+ |existing | non-zero |existing| do connection reinstatement| | | existing | | (see section 5.3.4) | +------------------------------------------------------------------+ |existing | non-zero | any | fail the login | | | new | | ("session does not exist") | +------------------------------------------------------------------+ Thanks, Naveen _______________________________________________ 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