|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI: keys/parameter dependence--- "Robert D. Russell" <rdr@io.iol.unh.edu> wrote: > The existence of a dependency between FirstBurstSize > and > MaxBurstSize is already clear from the statement in > section 11.15: > "FirstBurstSize MUST NOT exceed MaxBurstSize." My > earlier e-mail to Mike > Donahoe details this dependency. I've already said that looking at values to determine the order is very, very ugly. I don't think we need order at all. Check for consistency before commit, that's when you have to look at all keys anyways, to see which ones are lacking responses or haven't been negotiated, etc. Let's not put extra burden of checking dependencies at key processing time. It's simplest to be able to decide on the value of each key without having to look at the others. (I'm not talking about security stage though.) > The existence of a dependency between OFMarker and > OFMarkInt, and between > IFMarker and IFMarkInt, is implied by the statements > in section A.3.2: > "When the interval is unacceptable the responder > answers with > "Reject". Reject is resetting the marker function > in the spcified > direction (Output or Input) to No." No it isn't. IMO, it is resetting the marker interval to its previous value, which is likely the default value. I believe it's perfectly legal to negotiate the marker interval but to not turn on marker use, or to turn on the use but stay with current (default) values for the interval. If one side can't tolerate the other's Reject (i.e., can't live with the default value), it is welcome to bail and try next time w/o markers. BTW, we could use 0 here as a special value, meaning that markers are not in use, then we wouldn't need the boolean keys for markers. > This last sentence should probably be reworded to > say: > "A response value of "Reject" to an OFMarkInt > (IFMarkInt) key resets the > corresponding OFMarker (IFMarker) key value to > "No"." No, thank you. I would prefer if Reject meant the same as with the other keys, i.e., negotiation failed for this key, let's stick with the old value, or bail if we must. > 1. The table in section 11.12 describes the action > taken on the four > combinations of InitialR2T = Yes/No and > ImmediateData = Yes/No. > The combination InitialR2T=Yes and ImmediateData=No > means "Unsolicited > data disallowed". Therefore, FirstBurstSize becomes > "Irrelevant" for > this combination. This means that if FirstBurstSize > is offered after > an offer of ImmediateData=No which is accepted, and > either an explicit > offer of InitialR2T=Yes which is accepted or no > explicit offer of > InitialR2T (in which case the applicable default > value is Yes), > then a reply of FirstBurstSize=Irrelevant MAY be > returned > (alternatively, a valid value can also be given in > the reply). OK, a dependency. Not of the simplest kind, of course. Does it impose order? What's the harm if I send FirstBurstSize before those other two keys? Isn't it simpler to negotiate a variable that ends up unused than to worry about whether it should or should not be sent after some other keys? Martins Krikis, Intel Corp. Disclaimer: these opinions are mine and may not be those of my employer. __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com
Home Last updated: Mon Jun 03 18:18:41 2002 10474 messages in chronological order |