Protocol processing stack for use with intelligent network interface device
First Claim
1. A set of instructions executable on a host processor, the set of instructions being at least in part for interacting with a TCP offload device, wherein the TCP offload device receives data from a remote device across a TCP connection and places the data free of TCP headers into a memory accessible by the host processor, the set of instructions being for performing steps comprising:
- (a) identifying a location in the memory; and
(b) passing a handle to the TCP offload device, the handle corresponding to the TCP network connection, wherein the TCP offload device uses the handle to place the data free of TCP headers into the memory at the location identified in step (a).
3 Assignments
0 Petitions
Accused Products
Abstract
A host CPU runs a network protocol processing stack that provides instructions not only to process network messages but also to allocate processing of certain network messages to a specialized network communication device, offloading some of the most time consuming protocol processing from the host CPU to the network communication device. By allocating common and time consuming network processes to the device, while retaining the ability to handle less time intensive and more varied processing on the host stack, the network communication device can be relatively simple and cost effective. The host CPU, operating according to instructions from the stack, and the network communication device together determine whether and to what extent a given message is processed by the host CPU or by the network communication device.
-
Citations
20 Claims
-
1. A set of instructions executable on a host processor, the set of instructions being at least in part for interacting with a TCP offload device, wherein the TCP offload device receives data from a remote device across a TCP connection and places the data free of TCP headers into a memory accessible by the host processor, the set of instructions being for performing steps comprising:
-
(a) identifying a location in the memory; and
(b) passing a handle to the TCP offload device, the handle corresponding to the TCP network connection, wherein the TCP offload device uses the handle to place the data free of TCP headers into the memory at the location identified in step (a). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
- 16. An operating system that passes control of a TCP connection from a host computer to a TCP off load device coupled to the host computer, wherein after said control of the TCP connection is passed to the TCP offload device the TCP offload device performs all or substantially all TCP protocol processing on a network frame received onto the TCP offload device for the TCP connection such that operating system performs no or substantially no TCP protocol processing on the network frame.
Specification