SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    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,

    crc_no_reflect.cpp

    crc_reflect.cpp



Home

Last updated: Wed Nov 07 13:17:38 2001
7616 messages in chronological order