Offloading application level communication functions from a host
processor. The offloading apparatus can be configured as either a
pre-processor or as a co-processor. An interface is provided for
receiving a network message sent to the host. An engine performs
processing of the network message above OSI level 4. In one embodiment,
in a fast-path, a response to the message is sent back to the network
without any involvement by the host, providing a complete offload. For
other messages, certain pre-processing can be performed, such as parsing
of a header, message authentication, and look-up of meta-data. The
results of the look-up are then passed to the host with the processed
header, simplifying the tasks the host needs to perform. The messages and
data are transferred to the host using control and data buffers.