Protocol stack that offloads a TCP connection from a host computer to a network interface device
First Claim
1. A method for processing network communications by a host having a stack of protocol processing layers and an intelligent network interface, the method comprising:
- establishing, by the stack of protocol processing layers, a Transmission Control Protocol (TCP) connection, the TCP connection having a state and being identified at least in part by an Internet Protocol (IP) address and TCP port of the host, and an IP address and TCP port of a remote host; and
offloading, from the stack of protocol processing layers to the intelligent network interface, the state of the TCP connection and data transfer processing for the TCP connection.
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.
152 Citations
21 Claims
-
1. A method for processing network communications by a host having a stack of protocol processing layers and an intelligent network interface, the method comprising:
-
establishing, by the stack of protocol processing layers, a Transmission Control Protocol (TCP) connection, the TCP connection having a state and being identified at least in part by an Internet Protocol (IP) address and TCP port of the host, and an IP address and TCP port of a remote host; and
offloading, from the stack of protocol processing layers to the intelligent network interface, the state of the TCP connection and data transfer processing for the TCP connection. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for receiving network communications by a host having a stack of protocol processing layers and an intelligent network interface, the method comprising:
-
establishing, by the stack of protocol processing layers, a Transmission Control Protocol (TCP) connection, the TCP connection having a state and being identified at least in part by an Internet Protocol (IP) address and TCP port of the host, and an IP address and TCP port of a remote host; and
offloading, from the stack of protocol processing layers to the intelligent network interface, the state of the TCP connection. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for processing network communications by a host having a stack of protocol processing layers and an intelligent network interface, the method comprising:
-
establishing, by the stack of protocol processing layers, a Transmission Control Protocol (TCP) connection, the TCP connection including a combination of information and being identified at least in part by an Internet Protocol (IP) address and TCP port of the host, and an IP address and TCP port of a remote host; and
offloading the TCP connection from the stack of protocol processing layers to the intelligent network interface, such that the intelligent network interface can modify a first portion of the information but cannot modify a second portion of the information. - View Dependent Claims (18, 19, 20, 21)
-
Specification