An apparatus and method for managing the receipt of communication traffic
in the form of packets or other units. The apparatus includes a
communication interface (e.g., a NIC, a TCA) coupled to one or more host
computer systems. Through Direct Memory Access (DMA) operations, the
interface reassembles payloads of received packets into host buffers
based on their sequence numbers, without buffering them in the interface.
Packet headers are separated from the payloads and passed to a host for
protocol processing after the payload DMA is completed. Host buffers may
be of virtually any size. For each communication connection, state
information is maintained on the interface, which may identify an upper
level protocol so that an upper level protocol header is passed to the
host as part of the packet header, not as part of the payload. Protocol
termination remains in the host.