Subject: RE: iSCSI: Marker negotiation - draft 11

From: Michael Schoberg <[email-masked]>
Date: Tue, 12 Mar 2002 13:09:02 -0600

[(MI +  8) * n - 8] 

This is the formula in the draft.  I'm just wondering how a 2048 byte
interval results in a marker at location 1032.  Using the above formula for
n = 0 .. X:

n = 0, 		-8
n = 1,		512
n = 2, 		1032
n = 3,		1552
...

That doesn't look like a 2048 byte interval to me.  Perhaps someone could
explain the math. 

You may want to describe the formula a little clearer:

	Start of marker (byte location) = ((MI + 8) * n) - 8 

	[n] is an incrementing integer describing the n'th 
	  marker inserted into the TCP output stream.  n > 0
	[MI] is the negotiated marker interval value in bytes.

Where does this come from?

	"512+8+512=1032 (-1 since it starts at 0) = 1031" 

What formula are you using?

:-----Original Message-----
:From: John Hufferd [mailto:[email-masked]]
:Sent: Tuesday, March 12, 2002 12:45 PM
:To: Michael Schoberg
:Cc: IPS Reflector (E-mail)
:Subject: Re: iSCSI: Marker negotiation - draft 11
:
:
:
:512+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: [email-masked]
:

---

From: Martins Krikis <[email-masked]>
Date: Tue, 12 Mar 2002 13:37:08 -0800 (PST)

> That doesn't look like a 2048 byte interval to me. 

It clearly says in the 3rd paragraph of A.2: "As an
example, if the marker interval is 512...". So
there is no need to mention 2048 when discussing
this _example_. That's all it is.

Oh, I think I get where the confusion is coming
from...
Bytes vs. words, right? Well, I understand that the
intervals are discussed in bytes, MI is in bytes.
However, negotiation is in 4-byte words. I.e.,
sending IFMarkInt = 512 results in MI for T to I
direction being 2048.

> 	[MI] is the negotiated marker interval value in

I'm afraid it didn't become clearer. I like what's
in draft 11. The problem with your "definition" of n 
is that it makes it look like the number of the
marker,
which it is not, unless the login consumed MI bytes
or less.

Adding "in bytes" to MI might clarify things just a
bit, however, and I don't oppose it.

> What formula are you using?

The same one, n = 2, MI = 512.

> (BTW: Why was the above naming chosen over:
ITMarker, 
> TIMarker, ITMarkInt, TIMarkInt.  
> OF & IF prefixes don't seem intuitively
> perspective-obvious.)
 
Most everything in iSCSI is defined w.r.t. the
initiator. "Out" and "In" is used for Data PDUs
and other things. Now the same philosophy is aplied
to markers as well. It doesn't much matter what the
names are as long as they describe the direction
by themselves. I'm happy.

> Instead of offering a range (which seems kind of 
> unnecessary), how about offering only the value the 
> entity wishes to receive?  Example:

You may already do that. Offering a range is more
general. I assume there must have been a reason 
for introducing ranges. Replacing comma by : or -
would be nice, however.

> The draft says "Default is 2048", how does that get 
> negotiated?
> 
> I: OFMarker=yes | IFMarker=yes
> T: OFMarker=yes | IFMarker=yes

Correct, IMHO.

> Will the above negotiate the default 
> OF & IF Marker Intervals?
 
I think so. 8192 _bytes_.

> 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

Yes, but the way I understand it, it would require
a followup of:

I: IFMarkInt=1
T: (nothing)

  Martins Krikis, Intel Corp.

__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/