Fast-path apparatus for receiving data corresponding to a TCP connection
First Claim
1. An apparatus that communicates over a network, the apparatus comprising:
- a processor executing a protocol processing stack to establish a TCP connection, the protocol processing stack including a TCP layer; and
a device that is coupled to the processor to receive a packet from the network, the device including a hardware processing mechanism to analyze at least a TCP header of the packet and determine TCP source and destination parts for the packet, the device using the TCP source and destination ports to determine whether the packet corresponds to the TCP connection.
3 Assignments
0 Petitions
Accused Products
Abstract
A network interface device provides a fast-path that avoids most host TCP and IP protocol processing for most messages. The host retains a fallback slow-path processing capability. In one embodiment, generation of a response to a TCP/IP packet received onto the network interface device is accelerated by determining the TCP and IP source and destination information from the incoming packet, retrieving an appropriate template header, using a finite state machine to fill in the TCP and IP fields in the template header without sequential TCP and IP protocol processing, combining the filled-in template header with a data payload to form a packet, and then outputting the packet from the network interface device by pushing a pointer to the packet onto a transmit queue. A transmit sequencer retrieves the pointer from the transmit queue and causes the corresponding packet to be output from the network interface device.
-
Citations
22 Claims
-
1. An apparatus that communicates over a network, the apparatus comprising:
-
a processor executing a protocol processing stack to establish a TCP connection, the protocol processing stack including a TCP layer; and
a device that is coupled to the processor to receive a packet from the network, the device including a hardware processing mechanism to analyze at least a TCP header of the packet and determine TCP source and destination parts for the packet, the device using the TCP source and destination ports to determine whether the packet corresponds to the TCP connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus that communicates over a network, the apparatus comprising:
-
a processor that executes a protocol processing stack and establishes a TCP connection, the protocol processing stack including a TCP layer, and a device that is coupled to the processor and includes a processing mechanism that classifies a packet received by the device from the network, the packet containing control information including at least a transport layer header and a network layer header, the processing mechanism analyzing the control information without interruption between the transport layer header and the network layer header, to determine whether the packet corresponds to the TCP connection. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus that communicates over a network, the apparatus comprising;
-
a processor that executes a protocol processing stack to establish a TCP connection, the protocol processing stack including a TCP layer, and a device coupled to the processor and including a hardware processing mechanism having means for classifying a packet received by the device from the network including means for determining TCP source and destination ports for the packet, the device determining whether the packet corresponds to the TCP connection. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification