Claims
- 1. A method of editing outbound frames using an offload unit, comprising:
receiving a delegated connection table index; receiving a prototype header and data for transmission from a TCP stack; accessing a delegated connection table entry using the delegated connection table index; computing a TCP checksum based on a portion of the data for transmission; and outputting a frame including the TCP checksum, and the portion of the data for transmission.
- 2. The method of claim 1, further comprising updating the delegated connection table entry.
- 3. The method of claim 1, wherein the frame includes a received data acknowledgement number.
- 4. The method of claim 3, wherein the received data acknowledgement number is obtained from the delegated connection table entry.
- 5. The method of claim 3, wherein the received data acknowledgement number is updated when a data is received from the destination.
- 6. The method of claim 1, wherein the frame includes a TCP timestamp.
- 7. The method of claim 6, wherein the timestamp is read from the delegated connection table entry.
- 8. The method of claim 6, wherein the TCP timestamp is updated when data is received from the destination.
- 9. The method of claim 1, further comprising computing an IPv4 header checksum when a delegated connection is an IPv4-based connection.
- 10. The method of claim 1, further comprising:
accessing the connection table entry; computing a TCP checksum based on another portion of the data for transmission; and outputting an additional frame including the TCP checksum and the other portion of the data for transmission.
- 11. The method of claim 1, wherein the application program requests notification when a destination has acknowledged receipt of a specific sequence number.
- 12. The method of claim 1, further comprising piggybacking an acknowledgement in the frame.
- 13. A method of producing receive data acknowledgements for output to a destination using an offload unit, comprising:
receiving a TCP frame from a destination connection; determining the destination connection is a connection delegated for processing by the offload unit; determining a sequence number in the TCP frame is consecutive relative to a sequence number stored in a delegated connection table; and updating the sequence number stored in the delegated connection table.
- 14. The method of claim 13, further comprising:
determining the received sequence number is greater than a threshold; and transmitting a receive data acknowledgement to the destination.
- 15. The method of claim 13, further comprising:
determining a timer has expired; and transmitting a receive data acknowledgement to the destination.
- 16. The method of claim 13, further comprising:
determining a count of unacknowledged received frames is greater than a limit; and transmitting a receive data acknowledgement to the destination.
- 17. A method of communicating receive data acknowledgement state from an offload unit to an application program, comprising:
updating connection state data stored in a delegated connection table; and comparing a portion of the connection state data to a threshold to set a notification flag.
- 18. The method of claim 17, further comprising:
outputting a notification to the application program responsive to the notification flag value; and updating at least a portion of the connection state data.
- 19. The method of claim 17, wherein the threshold is a timer value.
- 20. The method of claim 17, wherein the threshold is a count of unacknowledged received frames.
- 21. The method of claim 17, wherein the threshold is a received sequence number.
- 22. An apparatus for editing outbound frames, comprising:
means for determining an IPv4 checksum; means for determining a TCP checksum; means for obtaining connection state data for a delegated connection; and means for constructing a frame for transmission at least partially responsive to the current connection state data.
- 23. The apparatus of claim 22, wherein the state connection data includes a received sequence number.
- 24. The apparatus of claim 22, wherein the state connection data includes a TCP timestamp.
- 25. The apparatus of claim 22, wherein the frame for transmission includes a received data acknowledgement.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims priority from commonly owned co-pending provisional U.S. Patent Application No. 60/476,570 entitled “HARDWARE-OPTIMIZED TCP/IP (HOT) PROCESSING,” filed Jun. 5, 2003, having common inventors and assignee as this application, which is incorporated by reference as though fully set forth herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60476570 |
Jun 2003 |
US |