SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI CRC check clarification



    Tandra,
    
    I am not sure I understand what you are talking about.
    The spec clearly states how the CRC should be calculated and what the bit 
    order on the wire is.
    Perhaps by "reflecting" you are talking about the later.
    The examples where checked independently by me and at least 2 other 
    persons.
    
    Regards,
    Julo
    
    
    
    
    "De, Tandra" <Tandra_De@adaptec.com>
    31-10-01 00:08
    Please respond to "De, Tandra"
    
     
            To:     Julian Satran/Haifa/IBM@IBMIL
            cc:     "'ips@ece.cmu.edu'" <ips@ece.cmu.edu>, "De, Tandra" 
    <Tandra_De@adaptec.com>
            Subject:        iSCSI CRC check clarification
    
     
    
    
    
    Julian,
     
    I followed few iSCSI  CRC checking example threads and the thread file://www.pdl.cmu.edu/mailinglists/ips/mail/msg05931.html says  that "Before transmission, the CRC bits must be reflected and 
    complemented";  whereas, the iscsi- 08 draft only mentions about 
    complementing the CRC before  transmission. So attached you will find two 
    software implementation code  examples: crc_reflect.cpp and 
    crc_no_reflect.cpp. 
    I ran few test cases  with the attached example code and when I do reflect 
    bits I  get
                                     0:        ff ff ff  ff
                                     4:        ff ff ff  ff
                                     8:        ff ff ff  ff
                                    12:        ff ff ff  ff
                                    16:        ff ff ff  ff
                                    20:        ff ff ff  ff
                                    24:        ff ff ff  ff
                                    28:        ff ff ff ff
     
                                    32:        43 ab a8 62
    in the transmission  side, and the reception side I get 0x1c2d19ed.
     
    But when I do not  bit flip I get
    
                                     0:        ff ff ff  ff
                                     4:        ff ff ff  ff
                                     8:        ff ff ff  ff
                                    12:        ff ff ff  ff
                                    16:        ff ff ff  ff
                                    20:        ff ff ff  ff
                                    24:        ff ff ff  ff
                                    28:        ff ff ff ff
     
                                    32:        46 15 d5 c2
    in the transmission  side, and the reception side I do get 0x1c2d19ed 
    though. 
     
    I like to clarify  which implementation we should use so that both 
    Initiator and Target will be in  sync. validating the CRC. I appreciate if 
    you could verify the attached files to  see I am missing anytbing. Also I 
    think that it would help everyone who are  dealing with iSCSI CRC if you 
    could put up the finalized version of the code in  the reflector.
     
    Thanks,
    Tandra (tde@corp.adaptec.com)
    
    
    
    #### crc_no_reflect.cpp has been removed from this note on October 31 2001 
    by Julian Satran
    #### crc_reflect.cpp has been removed from this note on October 31 2001 by 
    Julian Satran
    
    
    


Home

Last updated: Wed Oct 31 15:17:38 2001
7475 messages in chronological order