发明名称 |
TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies |
摘要 |
A TCP offload system is disclosed including apparatuses and methods for batching session (sometimes called application) layer headers to reduce interrupts as well as CPU copies. One embodiment includes receiving a plurality of TCP packets, comprising processing the packets by TCP, including removing TCP headers from TCP data, associating the TCP data with a TCP connection for an application, and updating a TCP control block (TCB) that defines the TCP connection; locating a plurality of upper layer headers in the TCP data, the headers each corresponding to application data contained in the packets, wherein the plurality of upper layer headers correspond to a protocol that is higher than TCP; processing the plurality of upper layer headers by the application to obtain memory locations for the application data; and placing the application data in the locations, after the processing of the plurality of upper layer headers by the application. |
申请公布号 |
US9306793(B1) |
申请公布日期 |
2016.04.05 |
申请号 |
US200912581342 |
申请日期 |
2009.10.19 |
申请人 |
Alacritech, Inc. |
发明人 |
Craft Peter K.;Philbrick Clive M. |
分类号 |
G06F15/16;H04L29/06;H04L12/861 |
主分类号 |
G06F15/16 |
代理机构 |
Silicon Edge Law Group LLP |
代理人 |
Lauer Mark;Silicon Edge Law Group LLP |
主权项 |
1. A method comprising:
running an application on a device having an interface; running, on the interface, a transmission control protocol (TCP) connection for the application, including maintaining a TCP control block (TCB) by the interface; receiving, by the interface, a packet including a TCP header, an upper layer header corresponding to a protocol higher than TCP, and application data, wherein the upper layer header is separated from the TCP header by the application data; associating, by the interface, the packet with the TCP connection, including processing the packet against the TCB; providing the upper layer header to the device; processing the upper layer header by the application; and providing, by the interface to the device, the application data, after the processing of the upper layer header. |
地址 |
San Jose CA US |