Patent ID: 8443051

Claim:
In an input/output device having a packet processing engine operable to directly access a system memory for data transfers across a network, the input/output device controlled by a device driver, a method comprising: posting at least one buffer of an ordered set of buffers from the system memory, the ordered set of buffers having been posted to the system memory by the device driver; transferring ownership of the ordered set of buffers to the packet processing engine; receiving one or more packets from a network connection, the network connection providing access to the network; storing the one or more packets in a particular buffer of the ordered set of buffers so that the particular buffer is partially-filled; while receiving the one or more packets, transferring ownership of the particular buffer of the ordered set of buffers to the device driver for processing; wherein a distance-vector is associated with an originally posted index position of the particular buffer, the distance vector specifying an allowable number of index positions between the originally posted index position of the particular buffer and an index position of a currently-fetched buffer; and wherein a flush condition is indicated on the particular buffer if the particular buffer and the currently-fetched buffer are separated in the ordered set of buffers by a number of index positions equal to or greater than the distance vector.