david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

A cleaner method of handling login redirection; just use the existing

reconnection mechanism.  This avoids the problems of trying to reuse
the TCP connection structure before the old connection has cleanly exited.
This commit is contained in:
Michael Brown 2006-12-06 19:53:56 +00:00
parent d2bf7abe75
commit 38ae94f8ce
1 changed files with 5 additions and 2 deletions

View File

@ -735,8 +735,11 @@ static void iscsi_rx_login_response ( struct iscsi_session *iscsi, void *data,
/* Check for login redirection */
if ( response->status_class == ISCSI_STATUS_REDIRECT ) {
DBG ( "iSCSI %p redirecting to new server\n", iscsi );
iscsi_close ( iscsi, -EINPROGRESS );
tcp_connect ( &iscsi->tcp );
/* Close the TCP connection; our TCP closed() method
* will take care of the reconnection once this
* connection has been cleanly terminated.
*/
tcp_close ( &iscsi->tcp );
return;
}