Claims
- 1. A method of processing frames for a TCP connection, comprising:
processing a first portion of the frames using an offload unit to produce first processed frame data; and processing a second portion of the frames using the offload unit to produce second processed frame data. processing the second processed frame data using a TCP stack executed on a CPU to produce third processed frame data.
- 2. The method of claim 1, further comprising determining whether a special case exists during the processing of each of the frames.
- 3. The method of claim 1, wherein at least a portion of the first processed frame data is payload data.
- 4. The method of claim 1, wherein at least a portion of the second processed frame data is partially processed frame header data.
- 5. The method of claim 1, wherein at least a portion of the second processed frame data is payload data.
- 6. The method of claim 1, further comprising uploading the first processed frame data to a user buffer.
- 7. The method of claim 1, further comprising uploading the second processed frame data to a legacy buffer.
- 8. The method of claim 1, further comprising finishing processing of the second processed frame data by the TCP stack executed on the CPU.
- 9. A system for processing data for a TCP connection, comprising:
a TCP stack configured to process received frames stored in at least one legacy buffer; a software driver configured to interface between the TCP stack and an offload unit; and the offload unit configured to process frames received on a delegated connection to produce payload data and partially processed frames.
- 10. The system of claim 9, wherein the offload unit is configured to process frames for which a special case does not exist.
- 11. The system of claim 9, wherein the offload unit is configured to notify the TCP stack when a special case is determined to exist.
- 12. The system of claim 9, wherein the TCP stack is configured to process frames for which a special case exists.
- 13. The system of claim 9, wherein the offload unit is configured to upload partially processed frames to at least one legacy buffer.
- 14. The system of claim 9, wherein the offload unit is configured to upload the payload data to at least one user buffer.
- 15. The system of claim 9, wherein the offload unit is configured to receive additional frames while uploading payload data to a legacy buffer or uploading processed frames to a user buffer.
- 16. A method of processing frames for delegated and non-delegated TCP connections, comprising:
processing delegated TCP connections using an offload unit, the offload unit configured to process frames for which special cases do not exist; processing non-delegated TCP connections using a TCP stack executing on a CPU; and processing all frames for which special cases exist using the TCP stack executing on the CPU.
- 17. The method of claim 16, wherein the processing of the delegated TCP connections produces payload data.
- 18. The method of claim 17, wherein the payload data is uploaded by the offload unit to a portion of system memory.
- 19. The method of claim 16, further comprising updating connection state information stored in the offload unit when data is received for a delegated connection.
- 20. The method of claim 16, further comprising updating connection state information stored in the offload unit when data is transmitted for a delegated connection.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims priority from commonly owned co-pending provisional U.S. patent application Ser. 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 |