An RNIC implementation that performs direct data placement to memory where
all segments of a particular connection are aligned, or moves data
through reassembly buffers where all segments of a particular connection
are non-aligned. The type of connection that cuts-through without
accessing the reassembly buffers is referred to as a "Fast" connection
because it is highly likely to be aligned, while the other type is
referred to as a "Slow" connection. When a consumer establishes a
connection, it specifies a connection type. The connection type can
change from Fast to Slow and back. The invention reduces memory
bandwidth, latency, error recovery using TCP retransmit and provides for
a "graceful recovery" from an empty receive queue. The implementation
also may conduct CRC validation for a majority of inbound DDP segments in
the Fast connection before sending a TCP acknowledgement (Ack) confirming
segment reception.