SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    Re: Markers



    Title: Markers
    I helped write our hardware specification on this issue and going over the specification again just now, I realized that I referenced the Internet draft for the definitive description of marker insertion. So, I certainly have an interest in getting this right.
     
    >> From this text, it is not clear whether the two "copies" of the marker are identical copies
     
    Pat, you are right, you need to look beyond the text that you quoted to get clarity. Some ambiguity is resolved when you realize that markers "don't count".
     
     [quote]

       The Marker scheme uses payload byte stream counting that includes
       every byte placed by iSCSI in the TCP stream except for the markers
       themselves. It also excludes any bytes that TCP counts but are not
       originated by iSCSI.
       
    [end quote]
     
    Thus,
     
    1. Since "counting ... includes every byte ... except for the markers themselves," I believe the markers are both identical (in particular, the count in the two markers is the same, since we don't count the marker bytes).
     
    [quote]
       Marker is eight bytes in length and contains two 32-bit offset fields
       that indicate how many bytes to skip in the TCP stream in order to
       find the next iSCSI PDU header.
    [end quote]
     
    [quote]

       The marker interval and the initial marker-less interval are counted
       in terms of the bytes placed in the TCP stream data by iSCSI.
    [end quote]
     
    >> From this text, it is not clear ... whether each marker specifies how many bytes to skip from its position in the stream. It also isn't entirely clear where the count of bytes to skip starts (which is related to the first).
     
    Again the two markers don't matter. Thus,
     
    2. The count is how many TCP stream bytes to skip, forget about the markers. The definition of "TCP Stream" needs a stretch, but between the first and third sections quoted above, I think it is "TCP Stream := every byte placed by iSCSI in the TCP stream except for the markers themselves and any bytes that TCP counts but are not originated by iSCSI".
     
    I had to think a few times about "bytes that TCP counts but are not originated by iSCSI", and I can't think of any strange cases that leave ambiguity in this definition, but can anyone else?
     
    On the other hand if we were to add ""The count of bytes begins with the first byte after the Marker", I think there is a possibility for confusion unless you again declare "count of bytes" means TCP Stream (as defined).
     
    I'm probably too close to this now to render an objective opinion on whether ambiguity exists, but I think an example will help, and Pat's is as good as any to resolve this particular (possible) ambiguity (in her example, I believe both marker copies contain zero).
     
    Onto a very related issue: Our technical team just got back from the UNH plugfest and were unable to perform more testing on our marker implementation because nobody else at UNH had implemented markers yet. We would be very interested in hearing from anyone who would like to test against us. Please contact me as a starting point. Thanks!
     
    Aloha
     
    Mike Smith
    CTO, iReady
     
     
    ----- Original Message -----
    Sent: Tuesday, August 06, 2002 4:57 PM
    Subject: Markers

    I was reading the text of Appendix A and noticed an ambiguity.

    The text says:
    The Marker indicates the offset to the next iSCSI PDU header. The
       Marker is eight bytes in length and contains two 32-bit offset fields
       that indicate how many bytes to skip in the TCP stream in order to
       find the next iSCSI PDU header. The marker uses two copies of the
       pointer so that a marker that spans a TCP packet boundary should
       leave at least one valid copy in one of the packets.

    From this text, it is not clear whether the two "copies" of the marker are identical copies or whether each marker specifies how many bytes to skip from its position in the stream. It also isn't entirely clear where the count of bytes to skip starts (which is related to the first).

    For example, if a PDU starts right after a marker:

          Next-iSCSI-PDU-start pointer - copy #1
          Next-iSCSI-PDU-start pointer - copy #2
          PDU header start

    Do Copy #1 and Copy #2 both contain 0x00000000, or does copy #1 contain 0x00000004 because the packet starts 4 bytes after copy 1 while copy #2 contains 0x00000000

    because the packet starts 0 bytes after copy 2?

    Since "copy" implies they are the same, I think they should both contain 0x00000000.

    This could be clarified by adding, "The count of bytes begins with the first byte after the Marker." One could also include the example above.

    Regards,
    Pat


    • Follow-Ups:
      • Re: Markers
        • From: Bill Studenmund <wrstuden@wasabisystems.com>
    • References:
      • Markers
        • From: pat_thaler@agilent.com


Home

Last updated: Wed Aug 07 16:18:56 2002
11559 messages in chronological order