Subject: [rddp] MPA CRC Error and retransmission

From: [email-masked]
Date: Wed, 4 Dec 2002 23:12:59 -0500

> > - A persistent CRC error (not correctable via retransmits) is
> > 	fatal to an MPA connection.  That's an error case in
> > 	which the only choices are connection closure or livelock,
> > 	for a connection on which useful data has been sent.
> > 	One would hope that it's rare (and design to make it so).
> 
>   Is this TCP level retransmission (i.e. CRC verification prior
>   to TCP ack generation) or an upper layer retransmission such
>   as in iSCSI?

That would be TCP level retransmission in a "rototilled" implementation
that detected the CRC error before the TCP ACK of the TCP segment
containing the MPA CRC error.  MPA currently forbids upper layer
retransmission in this situation because it specifies that a CRC
error reported to the ULP is fatal to the connection:

Section 7.2 (describing CRC calculation on receive):

   2)  Verify that the calculated CRC-32c value is the same as the 
       received CRC-32c value found in the FPDU CRC field.  If not, the 
       receiver MUST treat the FPDU as an invalid FPDU. 

   The procedure for handling invalid FPDUs is covered in the Error 
   Section (see section 9 on page 19) 

Section 9 on page 19 says:

   Once MPA delivers an error of any type, it MUST not deliver any 
   additional FPDUs on that half connection.

Livelock would result from never reporting an error that persists
through all retransmits - needless to say, that's not a good idea.

Thanks,
--David

----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953 **NEW**     FAX: +1 (508) 293-7786
[email-masked]        Mobile: +1 (978) 394-7754
----------------------------------------------------
_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp