|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iscsi : how should a target process a logout ?Santosh, Good point. This text is relatively old. The new text will read: After receiving the Logout command the target aborts all pending commands on that connection/session if the logout reason code is "close the connection", " or "close the session" and suspends all data/status/R2T transfers on behalf of pending commands if the reason code is "remove connection for recovery". The target then issues the Logout response and half-closes the TCP connection (sends FIN). After receiving the Logout response and attempting to receive the FIN (if still possible), the initiator MUST completely close the logging-out connection. For the aborted commands, no additional responses should be expected after that. Note that a Logout for a CID may be performed on a different transport connection when the TCP connection for the CID had already been terminated. In such a case, only a logical "closing" of the iSCSI connection for the CID is implied with a Logout. All commands that were not aborted or not completed (with status) and acknowledged when the connection is closed completely can be reassigned to a new connection if the target supports connection recovery. Regards, Julo
All, Please refer Rev 7.98 Section 3.14 on logout : "After receiving the Logout command the target completes all pending commands (device activity, data to/from the initiator, R2T and status transfers) that it deems fit to conclude, and then issues the Logout response and half-closes the TCP connection (sends FIN)." I object to the following wording : "target completes all pending commands (device activity, data to/from the initiator, R2T and status transfers) that it deems fit to conclude" The above seems to imply that the target is supposed to continue processing the pending commands and only upon their completion would it send a logout response. I suggest that the above wording be removed and something in its place be added to indicate clearly that a target MUST : - abort all pending I/Os on that connection/session if the logout reason code is "close the connection", " or "close the session" respectively. - transfer the allegiance of all pending commands on that connection if the logout reason code is "remove the connection for recovery". - NOT send back scsi response for any aborted I/Os. The logout response implicitly terminates all the pending I/Os on that connection, [or session, if the session is being logged out.] - NOT send any further PDUs to the initiator, other than the response to the logout. Comments ? Thanks, Santosh -- ################################## Santosh Rao Software Design Engineer, HP-UX iSCSI Driver Team, Hewlett Packard, Cupertino. email : santoshr@cup.hp.com Phone : 408-447-3751 ##################################
Home Last updated: Sat Sep 29 08:17:17 2001 6860 messages in chronological order |