Claims
- 1. A method of using a delegated connection table, comprising:
initializing an entry in the delegated connection table with connection state corresponding to a connection selected by a TCP stack for processing by an offload unit; updating the entry when a first frame is received for the connection; and reading the entry when a second frame is transmitted for the connection.
- 2. The method of claim 1, further comprising updating the entry when the second frame is transmitted.
- 3. The method of claim 2, wherein the updating includes copying a portion of the second frame into a portion of the entry in the delegated connection table.
- 4. The method of claim 1, further comprising uploading payload data to a location specified in the entry within a memory space allocated to an application program.
- 5. The method of claim 1, further comprising notifying the TCP stack when the first frame received is uploaded by the offload unit to at least one legacy buffer.
- 6. The method of claim 1, further comprising uploading the first frame to a legacy buffer.
- 7. The method of claim 1, wherein another frame received does not correspond to another entry in the delegated connection table.
- 8. The method of claim 6, wherein a sequence number in the first frame does not correspond to a sequence number stored in the delegated connection table.
- 9. The method of claim 6, wherein a special case is detected in the first frame.
- 10. The method of claim 9, further comprising uploading the first frame to at least one legacy buffer.
- 11. The method of claim 9, further comprising notifying an application program to complete processing of the first frame.
- 12. The method of claim 9, further comprising uploading any subsequent frames received for the connection, to one or more legacy buffers, until resynchronization is signaled by the TCP stack.
- 13. The method of claim 12, wherein the resynchronization is accomplished by observing ACK numbers generated by the TCP stack.
- 14. The method of claim 12, further comprising:
determining an ACK number in a frame transmitted for the connection is more advanced than a sequence number stored in the entry; and copying the ACK number to the sequence number portion of the entry.
- 15. A method of accessing a delegated connection table during processing of a received frame, comprising:
reading a connection match portion of the delegated connection table; determining the received frame corresponds to an entry in the connection match portion of the delegated connection table; reading a connection data portion of the delegated connection table; and parsing the received frame to produce payload data.
- 16. The method of claim 15, further comprising:
modifying a portion of connection state data stored in the connection data portion of the delegated connection table.
- 17. The method of claim 15, further comprising:
reading a connection buffer portion of the delegated connection table to obtain user buffer information.
- 18. The method of claim 17, further comprising:
determining the user buffer information indicates a user buffer is not available; and requesting a user buffer.
- 19. The method of claim 17, further comprising uploading the payload data to the user buffer.
- 20. The method of claim 18, further comprising:
determining a receive buffer has reached a high water mark; and uploading the payload data to a legacy buffer.
- 21. The method of claim 18, further comprising:
determining a buffer request timer has expired; and uploading the payload data to a legacy buffer.
- 22. A delegated connection table for storing delegated connection information, comprising:
a first storage resource configured to store user buffer information; and a second storage resource configured to store delegated connection state information.
- 23. The delegated connection table of claim 22, further comprising a third storage resource configured to store delegated connection identification information.
- 24. The delegated connection table of claim 22, further comprising a command processing unit configured to write to the first storage resource.
- 25. The delegated connection table of claim 22, further comprising a transmit engine configured to access the second storage resource.
- 26. The delegated connection table of claim 22, further comprising a receive engine configured to access the second storage resource.
- 27. The delegated connection table of claim 26, wherein the receive engine is configured to read the first storage resource.
- 28. The delegated connection table of claim 26, wherein the receive engine is configured to read the third storage resource.
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 |