Patent ID: 8804741

Claim:
A method comprising: at a wireless network processor, receiving data defining transmission control protocol (TCP) segments at the wireless network processor; parsing the received TCP segments into corresponding TCP header segments and corresponding TCP data segments; identifying established end-to-end TCP/IP connections established by the wireless network processor; associating the received TCP segments with an identified end-to-end TCP/IP connection of the wireless network processor using the TCP header segments; retrieving stored connection state information for the identified end-to-end TCP/IP connection; directing data movement of the TCP data segments according to the retrieved connection state information and direction information of the TCP header segments, including: storing data defining the corresponding TCP header segments in a first portion of a host buffer; storing data defining the corresponding TCP data segments in a second portion of the host buffer; determining whether a current received TCP segment is an in-order TCP segment or an out-of-order TCP segment with respect to previously received TCP segments; and when the current received TCP segment is an out-of-order TCP segment: storing data defining control information associated with the out-of-order TCP segment; and using the stored control information, placing data defining the out-of-order TCP segment in the corresponding portions of the host buffer so that the out-of-order TCP segment is in order with respect to one or more previously received TCP segments; and recording TCP segment data indicating one or both of a starting address of the placed data defining the out-of-order TCP segment and an ending address of the placed data defining the out-of-order TCP segment, and a start buffer address of the placed data defining the out-of-order TCP segment plus information about length of the placed data defining the out-of-order TCP segment, and recording control information associated with the recorded TCP segment data.