|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Fwd: iSCSI - revised 2.2.4]Julian and Santosh, It appears to me that there are a couple of questions to address, to arrive at a resolution to this change request - 1)Should all operational keys be sent in one text command PDU? (Can they, given that the max PDU size may be a constraint? Or, did the constraint go away with the recent set of changes that allow one key=value to span multiple PDUs?) 2)Can keys be renegotiated to different values (after they were negotiated once) in the same negotiation sequence? If I understood Santosh right, he is implicitly assuming "yes" to (1) above - so anything that the initiator does not offer tantamounts to an explicit default. If that's the case, I agree with this view. [ Julian, please comment how the new key-spanning is differentiated from the multi-command sequence in the PDU header. ] If the answer to (2) above "yes" (which Santosh thinks is the case, and suggests as the answer to Julian's scenario), I would first of all like to understand the practical usage of it. As a first reaction, it appears to me to open the door for endless exchanges. But there may be other safeguards in the draft that I haven't closely looked at. Thanks. -- Mallikarjun Mallikarjun Chadalapaka Networked Storage Architecture Network Storage Solutions Organization MS 5668 Hewlett-Packard, Roseville. cbm@rose.hp.com Santosh Rao wrote: > > Julian Satran wrote: > > > > Santosh, > > > > The reason I am hesitant on accepting this change proposal as is that it > > might makes the negotiation very much state dependent and different for > > keys that have a default and keys that don't have one. > > I don't see why. An initiator that receives a login response needs to > know whether to respond to a received key anyway. It does this by some > mechanism like maintaining a list of keys that it sent in its login > command. All that is required is that the initiator include those > operational keys that it sent as defaults in this list. (it needs to do > this anyway, since usage of defaults implies the initiator is offering > those key values.) > > Also, when the target responds to a default offering, it is actually > sending back the result of the negotiation. What benefit exists in > having the initiator again echo this value back to the target in a > redundant round-trip ? > > > In addition it may > > change login behavior for different versions of the protocol that may have > > different defaults. > > Again, I don't see why. The default values accepted by both sides are > the defaults of the "version active" returned in the login response. > > > I admit that it has appeal for the login (where the > > defaults are relevant) by shortening some negotiations. > > > > However the issues it raises are multiple. Assume that you have the > > following sequence: > > > > I->T key1=x > > T->I key1=z,key2=a > > I->T key2=b > > .... > > > > Observe that the initiator designer was very conservative and probably > > intended to negotiate the keys one at a time > > while the target is aggressive and wants to set everything as soon as > > possible. > > I don't understand how the above scenario is correct. If key2 was an > operational parameter, it already has a default defined for it, and the > initiator cannot negotiate it one at a time, since it has already made > the offer (of the default) by not sending the key explicitly. > > In any case, the initiator can always re-negotiate a key by re-sending > the key again. I don't understand how the above example justifies the > need for your current model. > > > > > With the defaults rule the results are harder to define. > > > > With the rules we have now the results are hardly dependent on sequence. > > > > Add to this that with the new rules about PDULength exchanges are hardly > > "self contained" - i.e. key=value pairs can span sequences (that was > > another reasons I did not like this but framing at high speeds has > > precedence!). > > > > However we might perhaps want to consider the following loose rule for > > defaults in the context of operational parameter negotiation at login only > > (leaving the negotiation rules as they are): > > > > If the initiator issues a login request with the F bit set to 1 is assumed > > to have an imaginary content including all the operational keys that have a > > default value and where not sent yet by the initiator during login and > > their values set to the default value. > > Julian, the login rules are already complex enough. Why do we need to > special case them further and increase the complexity ? I think login > behaviour is quite simple to understand/follow when the initiator is > considered as the originator of a key if it uses default values for that > key. > > Thanks, > Santosh > > > > > Comments? > > > > Julo > > > > PS - and a procedural thing - nagging me repeatedly on a subject is > > annoying and quoting the number of agreements before attempting different > > scenarios is even more so > > It is unfortunate that you consider my polite requests to attempt to > resolve an open issue as nagging. I don't know how much more polite I > could possibly get. [and I am trying to discuss specific scenarios to > understand the issues you have with this]. > > > > > > > Santosh Rao > > <santoshr@cup. To: IPS Reflector <ips@ece.cmu.edu> > > hp.com> cc: > > Sent by: Subject: [Fwd: iSCSI - revised 2.2.4] > > owner-ips@ece. > > cmu.edu > > > > > > 11-10-01 01:36 > > Please respond > > to Santosh Rao > > > > > > > > Julian, > > > > What is the resolution on this issue ? > > > > - Santosh > > > > Santosh Rao wrote: > > > > > > Julian, > > > > > > I apologize upfront for being so persistent on this. > > > > > > However, it would really help if you could give some clear example of a > > > scenario as to why the initiator cannot be considered the originator of > > > a negotiation, when it offers a key value implicitly, through the use of > > > a default. > > > > > > Several people on this list (Paul Konning, Sanjeev, Deva, myself, and > > > perhaps others, that I cannot recall at the moment) have asked that the > > > spec must not differentiate login behaviour when the initiator offers a > > > key explicitly vs. when it offers a key implicitly thru the use of the > > > default. > > > > > > Please help us understand the need for iscsi to distingush the login > > > behaviour in the above case. [through some tangible scenarios and > > > examples]. > > > > > > Thanks, > > > Santosh > > > > > > > "Sanjeev Bhagat (TRIPACE/Zoetermeer)" wrote: > > > > > > > > Julian, > > > > > > > > I would also request an explicit definition of offering party and > > > > responding party. The current text still leaves ambiguity when target > > > > sends a key in response to implicit default key of the Intiator. In > > > > this case who is the offering party and who is the responding party > > > > > > > > Sanjeev > > > > > > > > -----Original Message----- > > > > From: Julian Satran [mailto:Julian_Satran@il.ibm.com] > > > > Sent: Friday, October 05, 2001 2:06 PM > > > > To: ips@ece.cmu.edu > > > > Subject: iSCSI - revised 2.2.4 > > > > > > > > Here is a revised (complete) part 2.2.4 based on recent > > > > agreed changes: > > > > > > > > 1.1.1 Text Mode Negotiation > > > > > > > > During login and thereafter some session or connection > > > > parameters are negotiated through an exchange of textual > > > > information. > > > > > > > > All negotiations are stateless - i.e. the result MUST be > > > > based only on newly exchanged values. > > > > > > > > The general format of text negotiation is: > > > > > > > > Originator-> <key>=<valuex> > > > > Responder-> <key>=<valuey>|reject|NotUnderstood > > > > > > > > The value can be a number, a single literal constant a > > > > Boolean value (yes or no) or a list of comma separated > > > > literal constant values. > > > > > > > > In literal list negotiation, the originator sends for each > > > > key a list of options (literal constants which may include > > > > "none") in its order of preference. > > > > > > > > The responding party answers with the first value from the > > > > list it supports and is allowed to use for the specific > > > > originator. > > > > > > > > The constant "none" MUST always be used to indicate a > > > > missing function. However, none is a valid selection only if > > > > it is explicitly offered. > > > > > > > > If a target is not supporting, or not allowed to use with a > > > > specific originator, any of the offered options, it may use > > > > the constant "reject". The constants "none" and "reject" > > > > are reserved and must be used only as described here. Any > > > > key not understood is answered with "NotUnderstood". > > > > > > > > For numerical and single literal negotiations, the > > > > responding party MUST respond with the required key and the > > > > value it selects, based on the selection rule specific to > > > > the key, becomes the negotiation result. Selection of a > > > > value not admissible under the selection rules is considered > > > > a protocol error and handled accordingly. > > > > > > > > For Boolean negotiations (keys taking the values yes or no), > > > > the responding party MUST respond with the required key and > > > > the result of the negotiation when the received value does > > > > not determine that result by itself. The last value > > > > transmitted becomes the negotiation result. The rules for > > > > selecting the value to respond with are expressed as Boolean > > > > functions of the value received and the value that the > > > > responding party would select in the absence of knowledge of > > > > the received value. > > > > > > > > Specifically, the two cases in which responses are OPTIONAL > > > > are: > > > > > > > > - The Boolean function is "AND" and the value "no" is > > > > received. The outcome of the negotiation is "no". > > > > - The Boolean function is "OR" and the value "yes" is > > > > received. The outcome of the negotiation is "yes". > > > > > > > > Responses are REQUIRED in all other cases, and the value > > > > chosen and sent by the responder becomes the outcome of the > > > > negotiation. > > > > > > > > The value "?" with any key has the meaning of enquiry and > > > > should be answered with the current value or > > > > "NotUnderstood". > > > > > > > > The target may offer key=value pairs of its own. Target > > > > requests are not limited to matching key=value pairs as > > > > offered by the initiator. However, only the initiator can > > > > initiate the negotiation start (through the first Text > > > > request) and completion (by setting to 1 and keeping to 1 > > > > the F bit in a Text request). > > > > > > > > Comments ? > > > > > > > > Julo > > > > > -- > ################################## > Santosh Rao > Software Design Engineer, > HP-UX iSCSI Driver Team, > Hewlett Packard, Cupertino. > email : santoshr@cup.hp.com > Phone : 408-447-3751 > ##################################
Home Last updated: Mon Oct 15 18:17:27 2001 7241 messages in chronological order |