RE: Implementer's Guide - Task Management Issue

Julian Satran <[email protected]>
Newsgroups gmane.ietf.ips
Message-ID <OF1AAEF7FC.C91404D5-ONC225724B.00414223-C225724B.0041E8E9@il.ibm.com>
[email protected] wrote on 21/12/2006 00:22:40:

> Mallikarjun,
> 
> > IMHO, RFC 3720 had a good reason to require TTT completions on all
> initiators
> > (issuing and third-party).  We took a more conservative approach "data
> transfers
> > for terminated tasks cannot be active" at that time.  We also had
> concerns about
> > ordering issues in multi-connection sessions.
> > 
> > By the IG time, we took a more relaxed approach "let data transfers
> for terminated
> > tasks be in progress".  So the immediate question was:  So what
> happens to those
> > Data-Outs with stale TTTs?  Roughly, there are two possible answers to
> that: a)
> > let the target silently discard them, b) let the target maintain the
> buffer
> > resources for "a bit longer" so the outstanding transfers can
> complete.
> 
> Just to make this more complex, I think there are two forms of b):
> b1) The data yet to be transferred by the outstanding transfers will be
>    processed by the task (command) that requested the transfer.
> b2) The data yet to be transferred by the outstanding transfers will be
>    discarded and *NOT* processed by the task (command) that
> requested
>    the transfer.
> The difference between a) and b2) is that in a) the target maintains no
> buffers or other resources for the stale transfers, aside from some
> indication
> of what the TTTs are that need to be discarded, whereas in b2) the
> target
> maintains the buffers for discard after the transfers complete.
> 
> > The current IG approach is not to recommend either (a) or (b), but
> leave enough
> > room to implement either (a) or (b) per your implementation
> considerations.
> > iSCSI/iSER implementations have a particular problem with (a) because
> an invalid
> > STag is fatal for the connection.   So I don't think we want to
> recommend (a)
> > outright.
> 
> Right, the language in the IG alerts the iSCSI/iSER implementer to the
> possibility
> of b2) - complete the transfers, but bit-bucket the results, in which
> case the
> TMF response can be returned early.
> 

You might make the point that the language in iSER requires the Steering 
Tag to be valid (i.e. the packets having it must be accepted) but does not 
say what/if buffer has to stand behind it. An implemementer has enough 
room to make its its choices. Obviously an implementer that assumes that 
an STAG must have a buffer behind it will keep the buffers. Others may 
have a list marking "disconnected" STAGs and free te buffers. 

 
> > If a target wants to do (b), it needs a signal to deterministically
> free up
> > resources - that's true for both issuing and third-party initiators
> (what is
> > "a bit longer"?).  And that is the proposed Nop-Out.
> > So I do not see a qualitative difference between issuing and
> third-party
> > initiators wrt the requirement on key negotiation to enable fast
> abort......
> 
> If fast abort means that the target can safely assume that a transfer
> won't
> complete, we might be in agreement.  What I'm looking for is return of
> the TMF
> response while transfers from initiators other than the one that issued
> the
> TMF are outstanding.
> 
> Let's try this line of reasoning - the target issues the Nop-Out, now
> when
> can it free the resources?  Answer:
>    - The Nop-In response comes back, OR
>    - The connection times out and is torn down.
> Now, what if the Nop-Out is not issued - what does the target wait for
> to
> free the resources?  Answer:
>    - The transfers complete, OR
>    - The connection times out and is torn down.
> Those look similar enough at the target (the worst case is the same -
> the
> resources are tied up until an uncooperative initiator times out) that
> I don't see the harm in allowing the early TMF return without the new
> key.  The clear distinction is that the first two bullets are different;
> if the new key is not negotiated, the target has to wait for the
> transfers
> to complete; the new key and the Nop-Out are necessary to walk away
> earlier
> when the initiator involved is able to continue the transfers.
> 
> > so I am so far not convinced that changing the current text is the
> right
> > thing to do (I'll need to sync up with Julian to understand what I'm
> > missing, and that is proving challenging due to both of us traveling).
> 
> What I'm looking for is for a 3720-only target to be able to do a) or
> b2)
> and return the TMF response once:
>    - It has completed everything (including outstanding transfers)
>       with the initiator that issued the task management
> operation.
>    - It has arranged for outstanding transfers from all other
>       initiators to be discarded.
> The current language in 3720 requires the initiator to delay the TMF
> response until all the discards to complete, and that's a real problem
> in practice.
> 
> > I believe we're covered on the ordering issues with the new IG text -
> > with the response fence notion.  So I wouldn't have any concerns on
> > that front with what David is proposing.
> 
> This sounds different, in that the response fence requires a new key
> - I think I'm asking for an early TMF response without the new key or a
> response fence.  Buffer recovery make take quite a while longer.
> 
> Thanks,
> --David
> ----------------------------------------------------
> David L. Black, Senior Technologist
> EMC Corporation, 176 South St., Hopkinton, MA  01748
> +1 (508) 293-7953             FAX: +1 (508) 293-7786
> [email protected]        Mobile: +1 (978) 394-7754
> ----------------------------------------------------
> 
> 
> _______________________________________________
> Ips mailing list
> [email protected]
> https://www1.ietf.org/mailman/listinfo/ips

_______________________________________________
Ips mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/ips
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.