Hi Lubo, Many thanks for your update.
You mean to say that this issue is because of the TCP Service and this can be fixed with the path you are yet to send. Am I right? Warm Regards, Naveen ________________________________________ From: Zhang, Lubo [lubo.zh...@intel.com] Sent: Tuesday, March 14, 2017 7:24 AM To: Santhapur Naveen Cc: Ye, Ting; edk2-devel@lists.01.org Subject: RE: ISCSI says "Session Doesn't Exist" Hi Naveen For this issue you mentioned, I have found the root cause. After we established the iSCSI connection between initiator and target server, if we use the following command immediately 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 deployed on Debain OS, but failed on windows server, this is the target server behavior. Since we do not send the reset packet on my platform, so the windows target server think our session is still exist and reject the new session request. Reconnect -r: this command will execute the iSCSI driver binding stop function 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 IScsiSessionAbort, the socket configured state has already been set as unconfigured in tcp driver binding stop , so we will not invoke the TCP dispatch to 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-boun...@lists.01.org] On Behalf Of Ye, Ting Sent: Tuesday, February 28, 2017 4:53 PM To: Santhapur Naveen <nave...@amiindia.co.in>; 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 Server 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. For your info: A link describes the know issues in Windows Server 2012 iSCSI target, https://technet.microsoft.com/en-us/library/jj863561(v=ws.11).aspx. It has a related issue but not the same one we met now. 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 login 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-boun...@lists.01.org] On Behalf Of Santhapur Naveen Sent: Tuesday, February 28, 2017 4:04 AM To: Ye, Ting <ting...@intel.com>; 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 similar as in https://blogs.technet.microsoft.com/filecab/2012/05/21/introduction-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...@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 binding 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-boun...@lists.01.org] On Behalf Of Santhapur 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 established 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 initiator is trying to establish a session, but the target rejects saying "Session 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 following information. But when I checked the wireshark capture, I found my TSIH 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 provide 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 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel