Subject: Re: iSCSI: Multiple markers before end of a data PDU

From: "Julian Satran" <[email-masked]>
Date: Tue, 14 Aug 2001 09:52:37 +0300

I've added to appendix C the following:

      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. The inserted value is independent of the marker interval.

Regards,

Julo

Please respond to "Barry Reinhold" <[email-masked]>

Sent by:  [email-masked]

To:   "ISCSI" <[email-masked]>
cc:   "James Smart" <[email-masked]>, "Chris Loveland"
      <[email-masked]>
Subject:  iSCSI: Multiple markers before end of a data PDU

Julian and framing folks:

If markers are being used a there is a long PDU with a short marker
interval
such that multiple markers come before the end of the PDU, are the bytes
(as
measured on the wire) counted in the offset to the start of the PDU that is
the value of the marker.

Example: An iSCSI PDU is 8192 bytes long starting at byte position 1024. A
marker is to be inserted at byte position 1028. If no other markers were to
be placed into the stream the value in the marker would be 8188 (number of
bytes to get to the next PDU starting after the marker). Now if the marker
interval is 256 (1024 bytes) then there would be six additional markers in
the PDU. Would the value contained in the first marker still be 8188 or
would it now be 8188+6*8?

The 0.7 draft does not addresses the marker interval and the inital
marker-less interval which do not have this issue. The marker value (marker
to end of PDU) value need to be specified.

If the marker value is to be the TCP byte stream offset as seen on the wire
then the process that does the insertion of the markers will need to know
the size of the PDU, the position of the last marker and the marker
interval.

If the marker value does not contain the "additional" markers that are
inserted then the receiver when using markers to recover a PDU header must
scan the TCP stream and remove the markers while advancing to the next PDU
or calculate the number of extra bytes in the received stream to get the
offset.

At this point in time I don't really care which way we do it, just as long
as we all understand how this is going to be done.

From 0.7:

The marker interval and the initial marker-less interval are counted
        in terms of the TCP stream data. Anything counted in the TCP
        sequence-number is counted for the interval and the initial marker-
        less interval. Specifically this includes any bytes "inserted" in
the
        TCP stream by an UFL.

     Satran, J.      Standards-Track, Expire November 2001             155

                                     iSCSI                   July 20, 2001

        When reduced to iSCSI terms markers MUST indicate the offset to a
4-
        byte word boundary in the stream.  The last 2 bits of each marker
        word are reserved and are considered 0 for offset computation.

        Padding iSCSI PDU payloads to 4-byte word boundaries simplifies
        marker manipulation.

Barry Reinhold
Principal Architect
Trebia Networks
[email-masked]
603-868-5144/603-659-0885/978-929-0830 x138