Zero copy method for receiving data by a network interface
First Claim
1. A method for receiving data from a network by a local host having a processor running an application and a memory that is accessible by the processor, the local host being connected to the network by a network interface, the data prepended with a TCP header, the method comprising:
- identifying, by the application, a location in the memory to place the data;
providing a description of the location to the network interface; and
placing, by the network interface, the data free of the TCP header into the memory at the location.
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.
233 Citations
25 Claims
-
1. A method for receiving data from a network by a local host having a processor running an application and a memory that is accessible by the processor, the local host being connected to the network by a network interface, the data prepended with a TCP header, the method comprising:
-
identifying, by the application, a location in the memory to place the data; providing a description of the location to the network interface; and placing, by the network interface, the data free of the TCP header into the memory at the location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for receiving a message from a network by a local host having a processor running an application and a memory that is accessible by the processor, the local host being connected to the network by a network interface, the message including a plurality of packets each having a TCP header, the method comprising:
-
identifying, by an application of the local host, a destination in the memory to place the data; providing a description of the destination to the network interface; and placing, by the network interface, data from each packet free of any TCP header into the memory at the destination. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A system for receiving data from a network by a local host having a processor running an application and a memory that is accessible by the processor, the local host connected to the network by a network interface, the data prepended with a TCP header, the system comprising:
-
an application running on the processor to identify a location in the memory in which to place the data, and to create a data structure that provides a description of the location; and a mechanism of the network interface that uses the data structure to place the data free of the TCP header into the memory at the location. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification