|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI: Marker negotiation - draft 11512+8+512=1032 (-1 since it starts at 0) = 1031. ...the first marker will be placed in the TCP stream as if the Marker-less interval had included markers. . . . John L. Hufferd Senior Technical Staff Member (STSM) IBM/SSG San Jose Ca Main Office (408) 256-0403, Tie: 276-0403, eFax: (408) 904-4688 Home Office (408) 997-6136, Cell: (408) 499-9702 Internet address: hufferd@us.ibm.com Michael Schoberg <michael_schoberg@cnt.com>@ece.cmu.edu on 03/12/2002 09:11:52 AM Sent by: owner-ips@ece.cmu.edu To: "IPS Reflector (E-mail)" <ips@ece.cmu.edu> cc: Subject: iSCSI: Marker negotiation - draft 11 A.2 Initial Marker-less Interval To enable the connection setup including the login phase negotiation, marking (if any) is started only at the first marker interval after the end of the login phase. However, in order to enable the marker inclusion and exclusion mechanism to work without knowledge of the length of the login phase, the first marker will be placed in the TCP stream as if the Marker-less interval had included markers. Thus all markers appear in the stream at locations conforming to the formula: [(MI + 8) * n - 8] where MI = Marker Interval, n = integer number. As an example if the marker interval is 512 and the login ended at byte 1003 (first iSCSI placed byte is 0) the first marker will be inserted after byte 1031 in the stream. The formula doesn't make sense to me. An interval of 512 = 2048 bytes. Wouldn't the first marker would be placed around byte 2048 instead of 1032? A.3.2 OFMarkInt, IFMarkInt Use: IO Senders: Initiator and Target Scope: CO Offering: OFMarkInt=<integer-from-1-to-65535>[,<integer-from-1-to-65535>] IFMarkInt=<integer-from-1-to-65535>[,<integer-from-1-to-65535>] Responding: OFMarkInt=<integer-from-1-to-65535>|Reject IFMarkInt=<integer-from-1-to-65535>|Reject OFMarkInt is used to set the interval for the initiator to target markers on the connection. IFMarkInt is used to set the interval for the target to initiator markers on the connection. For the offering the initiator or target indicates the minimum to max- imum interval (in 4-byte words) it wants the markers for one or both directions. In case it only wants a specific value, only a single value has to be specified. The responder selects a value within the minimum and maximum offered or the only value offered or indicates through the xFMarker key=value its inability to set and/or receive markers. When the interval is unacceptable the responder answers with "Reject". Reject is resetting the marker function in the specified direction (Output or Input) to No. The interval is measured from the end of a marker to the beginning of the next marker. For example, a value of 1024 means 1024 words (4096 bytes of iSCSI payload between markers). The default is 2048. Why allow for intervals as small as 4-bytes on markers? Is a range of values really necessary? I: OFMarker=yes | IFMarker=yes | OFMarkInt=1,512 | IFMarkInt=1,512 T: OFMarker=yes | IFMarker=yes | OFMarkInt=1 | IFMarkInt=1 (BTW: Why was the above naming chosen over: ITMarker, TIMarker, ITMarkInt, TIMarkInt. OF & IF prefixes don't seem intuitively perspective-obvious.) Instead of offering a range (which seems kind of unnecessary), how about offering only the value the entity wishes to receive? Example: I: TIMarker=yes | TIMarkInt=512 | ITMarker=yes | ITMarkInt=0 T: TIMarker=yes | TIMarkInt=512 | ITMarker=yes | ITMarkInt=2048 The draft says "Default is 2048", how does that get negotiated? I: OFMarker=yes | IFMarker=yes T: OFMarker=yes | IFMarker=yes Will the above negotiate the default OF & IF Marker Intervals? Also, section 9.10.4 does not explicitly say that only a parameter negotiated by the initiator may be returned in a target's response. So would this be possible? I: OFMarker=yes | IFMarker=yes | OFMarkInt=1,512 T: OFMarker=yes | IFMarker=yes | OFMarkInt=1 | IFMarkInt=1
Home Last updated: Tue Mar 12 14:18:16 2002 9065 messages in chronological order |