SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: ISCSI: Padding Preceding CRC



    Prasenjit,
    
    Very good point.  And I have always maintained that padding on the wire 
    has no meaning at all while alignment can be achieved through wise 
    placement of buffers.
    
    The only weak point in the argument arises when we decided to split the 
    PDU in sub-entities and wanted to make sure that those will be also 
    aligned and their "count" can be expressed in 4 byte terms (total AHS 
    length).
    
    Revising those will require some more reformatting of the iSCSI PDU.
    
    Julo
    
    
    
    
    
    Prasenjit Sarkar/Almaden/IBM@IBMUS
    Sent by: owner-ips@ece.cmu.edu
    09-11-01 01:14
    Please respond to Prasenjit Sarkar
    
     
            To:     "Williams, Jim" <Jim.Williams@emulex.com>
            cc:     "'ips@ece.cmu.edu'" <ips@ece.cmu.edu>
            Subject:        ISCSI: Padding Preceding CRC
    
     
    
    
    
    Isnt padding independent of CRC?
    
    
    
      
                        "Williams, Jim"   
                        <Jim.Williams@e       To:     "'ips@ece.cmu.edu'" 
    <ips@ece.cmu.edu> 
                        mulex.com>            cc:    
                        Sent by:              Subject:     Padding Preceding 
    CRC 
                        owner-ips@ece.c   
                        mu.edu   
      
      
                        11/08/2001   
                        02:29 PM   
      
      
    
    
    
    The iSCSI spec indicates that the data will be padded
    out to a length which is a multiple of 4 before the
    CRC (digest) is appended.  In discussing this with our
    hardware designers, I was told that this provides
    no benefit to them, but causes a fair amount of pain.
    As such I would like to raise the question of
    whether the padding should be eliminated.
    
    Computing unaligned CRCs is fairly trivial to do,
    and must be done anyway.  This is because the
    padding aligns the CRC with respect to the iSCSI
    PDU, but one can't in general assume that the
    iSCSI PDU is aligned with the TCP segment on
    received data, and on transmitted data the
    source may be a general gather list of unaligned
    buffers.
    
    I suppose this doesn't preclude doing a lot of
    work to align the data before feeding it to the
    CRC unit, but given how easy it is to compute
    unaligned CRCs in hardware, there is no reason
    to do this.
    
    Inserting padding is extra work, however.  This
    creates a bubble in the data flow pipe, extra
    information that must be passed between hardware
    units indicating the number of pad bytes to
    be inserted, and extra logic to insert the
    required pad data.
    
    If someone can make a case why this padding is
    a good thing, then certainly the hardware
    problems are solvable.  But it looks to me
    like a "feature" with cost but no benefit.
    
    
    
    
    
    
    
    


Home

Last updated: Fri Nov 09 09:17:37 2001
7686 messages in chronological order