Subject: RE: Re: iSCSI Marker questions

From: "Julian Satran" <[email-masked]>
Date: Thu, 13 Dec 2001 18:50:39 +0200

Sanjay,

I understand the login issue and will send a text that takes care of this 
soon to the list.
Dean's assumptions where wrong anyhow and assume the same knowledge of 
login space.
The new text will say that the first marker appearing after login will be 
placed AS IF markers where in from time 0 so that
the markers can be placed without knowing anything about the login length.

Julo

Sanjay Goyal <[email-masked]>
13-12-01 17:19

        To:     Julian Satran/Haifa/IBM@IBMIL
        cc:     Sanjay Goyal <[email-masked]>
        Subject:        RE: Re: iSCSI Marker questions

Hi
 I would agree to the way Dean had thought of where would the first marker 
be.
 Assuming marker position is independent of Login phase, marker interval 
being 4k and login phase being 11k long.
 the logic, to find where the next marker would be,  would be either multiple additions until it crosses 11k OR division of 11k by 4k.
 It still has to keep track of the FFP TcpSeqNo and start TcpSeqNo to know 
the Login phase length.
 
 I think the simpler way is to start marker after Login phase completes 
and the next marker is at FFP TcpSeqNo + marker interval which is what 
Dean stated. In this case you just need to add marker interval to the FFP TcpSeqNo to get the next marker position.
 
Please let me know of your views,
 
Regards
Sanjay Goyal
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Tuesday, December 11, 2001 7:54 PM
To: [email-masked]
Subject: Fw: Re: iSCSI Marker questions

----- Forwarded by Julian Satran/Haifa/IBM on 12-12-01 02:39 ----- 

Julian Satran 
11-12-01 14:44 

        To:        IPS List 
        cc:         
        Subject:        Re: iSCSI Marker questionsLink 

Dean, 

[email-masked] wrote on 11-12-2001 03:09:11:

> The iSCSI Draft 9 Appendix C makes the following statements about 
> Markers and the Initial Marker-less Interval:
> 
>      "The offset to the next iSCSI PDU header is counted in terms
>       of the TCP stream data. Anything counted in the TCP 
>       sequence-number is counted for the offset. Specifically this 
>       includes any bytes "inserted" in the TCP stream by an UFL and
>       it excludes any other markers inserted between the one we are
>       examining and the next PDU header."... 
> 
>      "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."
> 
> I understand that markers are not inserted until after login phase. 
> Am I correct to assume that the placement of the first marker 
> determined by the TCP sequence numbers on the final Login Request/
> Response PDUs, or is initial marker position determined by the 
> TCP sequence numbers at connection establishment?
> 
> Assume the following interaction:
> 
> I->  SYN     (TCP sequenceNum=1000)  -- irrelevant to this discussion?
> 
> T->  SYN-ACK (TCP sequenceNum=2000)  -- irrelevant to this discussion?
> 
> I->  Login Request PDU, T=0,CSG=1,NSG=0:
>      InitiatorName=xxx
>      TargetName=yyy
>      SessionType=normal
>      ...
>      FMarker=send-receive
>      RFMarkInt=512,1024
> 
> T->  Login Response PDU, T=0,CSG=1,NSG=0:
>      ...
>      FMarker=send-receive
>      SFMarkInt=1024
>      RFMarkInt=1024
> 
> I->  Login Request PDU, T=1,CSG=1,NSG=3:
>      SFMarkInt=1024
>      (64-byte PDU... TCP sequenceNum=1301-1364)
> 
> T->  Login Response PDU, T=1,CSG=1,NSG=3:
>      (48-byte PDU... TCP sequenceNum=2201-2248) 
> 
> The above interaction designates a 1024 x 4 = 4096-byte marker 
> interval in both directions. The first PDU byte sent by the 
> intitiator in full-feature mode will have sequenceNum=1365, and 
> the first byte sent by the target will have sequenceNum=2249.
> 
> Assuming the markerless interval starts at the end of login 
> phase, the first two markers in each direction will have the 
> following TCP sequence numbers:
> 
>                TCP SeqNum of    TCP SeqNum of
>                First Marker     Second Marker
>                ------------     -------------
> Initiator:     5461-5468        9565-9572
> Target:        6345-6352        10449-10456
> 
No - the correct numbers are dependent only on the marker interval (not 
the length of the login phase) and are: 

Initiator        5096-5103        9200-9201 
Target           6096-6103        10200-10201 

> Is this the correct interpretation of marker usage in iSCSI 
> Draft 9, or does marker placement depend on the connection's
> initial sequence numbers?
> 
> Also, is "RFMarkInt=..." always considered an offer, and "SFMarkInt="
> considered a reply to that offer? If an offer is sent with "FMarker=..."
> and "RFMarkInt=...", MUST the reply contain either "FMarker=no" or
> BOTH "FMarker=yes" and "SFMarkInt=..."?
> 

Fmarker is not boolean - legal values are no, send, receive, send-receive 
The sender and receiver must set the interval it wants/is ready to use 
otherwise the responder can't answer. 
I assume a normal dialogue may go like: 

I->FMarker=send-receive,RFMarkInt=1,4,SFMarkInt=1,512 
T->FMarker=send-receive,RFMarkInt=8, SFMarkInt=2 

Please observe that target answers with RFMarkInt to the initiators 
SFMarkInt and viceversa. 

I will attempt an example in draft 10 (last?). 

> Thanks,
> Dean Scoville
> QLogic Corp.

---

From: "Dave Francheski" <[email-masked]>
Date: Thu, 13 Dec 2001 11:23:18 -0800

Before full feature phase is entered, is it valid for an initiator to send a
Text Request PDU for parameter negotiation purposes?   In other words,
are only Login Request PDUs and Login Response PDUs allowed during 
the login phase?

I believe iSCSI draft 9 only permits Login Request/Response PDUs
during the login phase, but we've noticed that some initiators violate
this restriction.

Regards,

David Francheski    
Seven Systems Technologies
575 Menlo Drive Suite 2
Rocklin CA
916-577-1281
[email-masked]