System and method for TCP/IP offload independent of bandwidth delay product
First Claim
1. A system for providing TCP/IP offload, comprising:
- a host; and
a TCP/IP offload engine (TOE) coupled to said host, wherein said host transfers control of at least a portion of TCP connection variables to said TOE and said TOE provides updated TCP variables back to said host.
4 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the invention may provide TCP offload, which may include acquiring TCP connection variables from a host and managing at least one TCP connection using the acquired TCP connection variables. At least a portion of the acquired TCP connection variables may be updated and at least some of the updated TCP connection variables may be transferred back to the host. In an aspect of the invention, the TCP connection variables may be variables that are independent of bandwidth delay product. At least a portion of the updated TCP connection variables may be utilized by the host to process the TCP connection or another TCP connection. The host may push the variables onto the stack and the TOE may pull the variables from the stack. Also, updated TCP connection variables may be pushed on the stack by the TOE and pulled from the stack by the host.
118 Citations
50 Claims
-
1. A system for providing TCP/IP offload, comprising:
-
a host; and
a TCP/IP offload engine (TOE) coupled to said host, wherein said host transfers control of at least a portion of TCP connection variables to said TOE and said TOE provides updated TCP variables back to said host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for providing connection offload, comprising:
-
a host; and
a network interface card (NIC) coupled to said host, wherein, for a particular connection offloaded to said NIC, control of state information is split between said host and said NIC and said NIC uploads at least a portion of updated connection variables for said particular connection to said host. - View Dependent Claims (26, 27, 28)
-
-
29. A method for providing TCP/IP offload, comprising:
-
deciding to offload a particular TCP connection from a host to a TOE;
transferring control of connection variables of said particular TCP connection from said host to said TOE and transferring a snapshot of remaining connection variables whose control was not transferred to said TOE;
managing said particular TCP connection via said TOE using said at least a portion of said connection variables transferred to said TOE and at least a portion of said snapshot; and
updating at least a portion of said connection variables and a portion of said snapshot and transferring said updated at least said portion of said connection variables and said portion of said snapshot back to said host. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A method for providing TCP/IP offload, comprising:
-
deciding to offload an established TCP connection from a host to a TOE;
transferring control of segment-variant variables to said TOE from said host;
sending a snapshot of segment-invariant variables and connection-invariant variables to said TOE;
independently processing incoming TCP packets via said TOE based upon said segment-variant variables and said snapshot; and
updating at least a portion of said sent snapshot and at least a portion of said segment-variant variables and transferring at least a portion of said updated at least said portion of said sent snapshot and at least said portion of said updated segment-variant variables back to said host.
-
-
35. A method for processing a TCP connection, comprising:
-
establishing the TCP connection; and
sharing a control plane for said TCP connection between a host and a TOE; and
communicating updated TCP connection variables from said TOE back to said host. - View Dependent Claims (36, 37, 38, 39, 40)
-
-
41. A method for TCP offload, the method comprising:
-
acquiring TCP connection variables from a host;
managing at least one TCP connection using said acquired TCP connection variables;
updating at least a portion of said acquired TCP connection variables; and
transferring said updated at least a portion of said acquired TCP connection variables back to said host. - View Dependent Claims (42, 43, 44, 45)
-
-
46. A machine-readable storage, having stored thereon, a computer program having at least one code section for providing TCP offload, the at least one code section being executable by a machine for causing the machine to perform steps comprising:
-
acquiring TCP connection variables from a host;
managing at least one TCP connection using said acquired TCP connection variables;
updating at least a portion of said acquired TCP connection variables; and
transferring said updated at least a portion of said acquired TCP connection variables back to said host. - View Dependent Claims (47, 48, 49, 50)
-
Specification