|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI: Connection replacementVenkat Rangan wrote: > Pierre, > > There is another aspect to connection replacement - any in progress > data/status transfers on the original connection may now be sent on the new > connection, thus "breaking" the connection allegiance requirementg. Venkat, Hmmm, it depends on how you look at it. On the new connection before receiving the completion of a command initiated on the failed connection, you need to send the command with the retry bit. Hence on the new connection the initiator sends a command and receive the completion hence there is allegiance there. > If we > allowed retaining the same CID as the failed connection, and sent that along > in the Login of the replacing connection (along with the RecoverId as you > suggest), we could have the target maintain connection allegiance with > respect to the CID (although not with respect to TCP connection). Why not, the RecoverID and CID could be the same. But the rule is that the target can not send anything concerning the commands associated to the failed connection till it receives the logout and the "retries". > Do you > have a suggestion on how the in-progress I/Os can be handled? As described in the draft, to summarize: a) a connection drops b) the initiator sends a Logout on another connection c) when the target receives the Logout it drops the failed connection hence it cannot receives anything on this connection from this point. d) the target send the Logout response to the initiator e) the initiator "retry" the commands on the valid connection f) the target when receiving a "retry" must handle the retry in a way that the outcome of the command on the initiator and target is the same as if the connection didn't fail. For example for a READ the target (it is up to it) could resend everything or just what as not be acknowledged, because the outcome is the same. For a "FORMAT MEDIUM" command, the command will not be delivered a second time to the device server. When the command is over the completion is send back on the valid connection. Regards, Pierre > > > Regards, > > Venkat Rangan > Rhapsody Networks Inc. > http://www.rhapsodynetworks.com > > -----Original Message----- > From: owner-ips@ece.cmu.edu [mailto:owner-ips@ece.cmu.edu]On Behalf Of > Pierre Labat > Sent: Wednesday, January 10, 2001 6:23 PM > To: ips@ece.cmu.edu > Subject: iSCSI: Connection replacement > > Julian, > > Where > ===== > 2.10 Login command > > Problem > ====== > > In the case where > - the maximum number of connections/session is reached > - the initiator is faster than the target to detect a failed TCP > connection, > > the establishement of a new connection to replace the bad > one will fail. > > The Login on the new connection will be rejected by the target > because the maximum number of connections is reached and the target > has not yet detected that there were a failed connection. > > In the event of a server adapter failure this problem will almost > always happen. > As soon as the harware fails, the server open a new connection > using a new adapter. The target will not be fast enough to > realize the connection is bad. > > Solution > ====== > > a) in the Login message add a field (RecoverID) to inform the target > that this connection is to replace a failed one. The value 0xffff > means > it is not a connection used to replace an old one. > > b) After the login phase, the first message sent to the target on this > new connection must be a Logout for the failed connection. If not > the target close the connection. > > Regards, > > Pierre
Home Last updated: Tue Sep 04 01:05:53 2001 6315 messages in chronological order |