| US 7,613,109 B2 | ||
| Processing data for a TCP connection using an offload unit | ||
| Ashutosh K. Jha, Sunnyvale, Calif. (US); Radoslav Danilak, Santa Clara, Calif. (US); Paul J. Gyugyi, Sunnyvale, Calif. (US); Thomas A. Maufer, Menlo Park, Calif. (US); Sameer Nanda, San Jose, Calif. (US); Anand Rajagopalan, Santa Clara, Calif. (US); and Paul J. Sidenblad, Cupertino, Calif. (US) | ||
| Assigned to NVIDIA Corporation, Santa Clara, Calif. (US) | ||
| Filed on Dec. 09, 2003, as Appl. No. 10/731,632. | ||
| Claims priority of provisional application 60/476570, filed on Jun. 05, 2003. | ||
| Prior Publication US 2004/0257986 A1, Dec. 23, 2004 | ||
| Int. Cl. G08C 15/00 (2006.01); G06F 3/00 (2006.01); G06F 15/16 (2006.01); G06F 15/76 (2006.01) | ||
| U.S. Cl. 370—230 [370/412; 709/250; 710/56; 712/34] | 20 Claims |

| 1. A method of processing frames for a delegated TCP connection, comprising:
receiving a user buffer descriptor specifying a location of a plurality of user buffers in a first portion of memory that
is allocated to an application program, wherein each user buffer is configured to store processed frame data for the delegated
TCP connection;
processing a first portion of the frames using an offload unit to produce first processed frame data;
indicating in a field of the user buffer descriptor how many of the user buffers are accepted for the delegated TCP connection
before the processed frame data is stored in one of the user buffers;
uploading the first processed frame data to a user buffer in the first portion of memory that is allocated to the application
program;
processing a second portion of the frames using the offload unit to produce second processed frame data;
uploading the second processed frame data to a legacy buffer in a second portion of the memory that is allocated to a software
driver configured to communicate between the offload unit and a TCP stack; and
processing the second processed frame data using the TCP stack executed on a CPU to produce third processed frame data.
|