[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Google
  Web www.spinics.net

RE: detection of failed sessions to allow re-login



Isn't session re-instatement possible only for sessions that are in the failed state (no active connections)?  That was my understanding of Section 5.3.5 of RFC 3720.
 
How can the target know that the session is in the failed state if it hasn't detected that the only connection was dropped?
 
Thanks,
Paul
 


From: Sandars, Ken [mailto:ken_sandars@xxxxxxxxxxx]
Sent: Thursday, April 19, 2007 6:56 PM
To: Paul Hughes; ips@xxxxxxxx
Subject: RE: detection of failed sessions to allow re-login

Hi Paul,
 
That's a target problem, most likely a bug. The second login with TSIH=0 tells the target to perform session reinstatement. That's jargon for "silently nuke the first session".
 
The target may be failing the login because it's internal cleanup requires more time (I/O requests from the previous session are jammed for instance). Your scenario suggests this is not likely.
 
HTH,
Ken


From: Paul Hughes [mailto:phughes@xxxxxxxxxxxxxx]
Sent: Friday, 20 April 2007 09:14
To: ips@xxxxxxxx
Subject: detection of failed sessions to allow re-login

I have a question about how a target can quickly detect session failures so that a re-login can succeed.
 
Here's my scenario:
 
1) an initiator is booting from an iSCSI target
2) the initiator is using an iSCSI HBA to communicate with the iSCSI target
3) the HBA BIOS creates the first session, discovers the boot LUN, and reads the boot loader
4) the boot loader reads the kernel from the boot LUN
5) the kernel resets the iSCSI HBA while loading an HBA driver
6) the HBA driver attempts to create a new session
 
The problem I'm seeing is that the target is failing the login for the new session because the target thinks the first session created by the HBA BIOS is still valid (not in failed state).  The HBA reset was not detected by the target soon enough for the target to know that the first session is now in the failed state when the initiator attempts to login and create the second session using the same InitiatorName, ISID, TargetName, and TargetPortalGroupTag as the first session (with TSIH=0).  The target does not see a link down event because a switch is connected between the HBA and the target port.  The target eventually detects that the first session is failed when it sends a NOP-Out PDU and receives a transport failure.  Unfortunately, this occurs too late and the boot fails.
 
In my case the target is sending NOP-Out PDUs every 60 seconds.  I can change that to 5 seconds, but I don't think that will fix every case.  Is there a better way for the target to determine that the first session has failed so that a re-login will succeed on the first try?
 
Thanks,
Paul
 
 
 
_______________________________________________
Ips mailing list
Ips@xxxxxxxx
https://www1.ietf.org/mailman/listinfo/ips

[IETF]     [Linux iSCSI]     [Linux SCSI]     [Linux Resources]     [Yosemite News]     [IETF Announcements]     [IETF Discussion]     [SCSI]

Add to Google Powered by Linux