Subject: [Ips] Multi-connection sessions and ErrorRecoveryLevel=0

From: "Pittman, Joseph" <[email-masked]>
Date: Sat, 17 Apr 2004 10:20:25 -0400

I have a question about multi-connection sessions with
ErrorRecoveryLevel=0.
 
Consider this situation:
 
- Session is in progress consisting of 2 TCP connections {C1, C2)
- Initiator and Target have negotiated ErrorRecoveryLevel=0
- The target detects an error on TCP connection C1.
 
What is the target supposed to do?  And, for any initiator-implementers
out there, what actions do you plan to take in the face of such an
event?
 
I know that the target (or initiator) may choose to escalate this
situation to session recovery, and simply shutdown the entire session,
sending the appropriate ASYNC_MSG, etc.
 
But is there provision within the spec for the session to persist
beyond the loss of an individual TCP connection, even though ERL=0
eliminates the possibility for task reassignment and connection
recovery?
 
Sometimes when I read the spec, I think the target is allowed to
handle this situation by taking these actions:
 
- Discard any cmd PDUs which have not yet been submitted to
  the SCSI layer
- Abort all in-progress commands associated with the failed
  connection
- Shutdown the failed connection
- If the discarded PDUs result in a cmd sequence window hole,
  then the initiator will have to either resubmit those cmds,
  or use task management commands to fill the hole.
 
But other times, when I read the spec, I have doubts about
whether such behavior is prescribed or expected.
 
Thanks in advance for any guidance!
--
Joe Pittman
[email-masked]

---

From: Julian Satran <[email-masked]>
Date: Sat, 17 Apr 2004 19:12:31 -0400

Joe,

The ErrorLevel setting was "created" to simplify the different recovery 
options and to reduce the number of "alternatives" that have to be 
supported (keep complexity acceptable).
It may be that what you want the target to do will be handled properly 
while some other initiators may resort to the big harmer and reset the 
session.
Essentially you will end-up having to extend your testing to cover all the 
cases (and probably many initiators will play along!) but you will not be 
sure and will not be able to claim that "my target withstands the loss of 
a connection" as there might be initiators hat will not play along (which 
I assume was the purpose of your question) unless you successfully 
negotiate the proper ErrorLevel.

Julo

"Pittman, Joseph" <[email-masked]> 
Sent by: [email-masked]
17/04/04 10:20

To
<[email-masked]>
cc

Subject
[Ips] Multi-connection sessions and ErrorRecoveryLevel=0

Consider this situation:

What is the target supposed to do?  And, for any initiator-implementers
out there, what actions do you plan to take in the face of such an event?

---

From: "Mallikarjun C." <[email-masked]>
Date: Fri, 23 Apr 2004 12:17:37 -0700

Joseph,

 > handle this situation by taking these actions:

Your reading is correct.

 > whether such behavior is prescribed or expected.

I think such a target behavior will be very reasonable.  It
doesn't really look like an expensive behavior to support either.
Besides, it would leave the initiator in charge of deciding what
to do next.  If the initiator doesn't want to plug the holes
with aborts, it can always decide to shut down the session.
-- 
Mallikarjun

Mallikarjun Chadalapaka
Networked Storage Architecture
Network Storage Solutions
Hewlett-Packard MS 5668
Roseville CA 95747
cbm [at] rose.hp.com

Pittman, Joseph wrote:

> I have a question about multi-connection sessions with ErrorRecoveryLevel=0.
>  
> Consider this situation:
>  
> [email-masked] <mailto:[email-masked]>

_______________________________________________
Ips mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ips