The present invention discloses an apparatus and method for performing
cyclic redundancy check (CRC) on partial protocol data units (PDUs). The
disclosed apparatus is designed to off-load the CRC calculation for
transmit or receive from a host computer. According to the disclosed
method, when generating CRC for partial PDUs, for each such PDUs a
decision is made to determine whether a CRC action is required, i.e., if
CRC should be calculated, checked or placed in the outgoing byte stream.
When partial CRC calculation is performed the intermediate value is saved
into memory and later is used for calculating the CRC for a consecutive
partial PDU. In accordance with a preferred embodiment of the invention,
the need to re-calculate the CRC in a case of a re-transmit request is
eliminated.