Patent ID: 8619558

Claim:
A method for processing a packet received from a network, the network including a network adapter having a predetermined number of buffer sets in a buffer queue, the method comprising: the network adapter advertising to a computing system an advertised number of buffer sets available in the buffer queue, the advertised number of buffer sets being greater than the predetermined number of buffer sets so that it appears to the computing system that more buffer sets are available in the network adapter than actually are available, each buffer set including a plurality of buffers to store and retrieve data, the data indicative of a storage location of the received packet; wherein a first pointer points to a first one of the buffer sets for use by a consuming process and a second pointer points to a second one of the buffer sets for use by a producing process; wherein the first pointer and the second pointer at an initial stage are separated by at least two of the buffer sets; by using the first pointer, assigning the first buffer set to store and retrieve data; storing the data indicative of the storage location of the received packet in the assigned buffer set; and upon retrieving all the data from the assigned buffer set, releasing the assigned buffer set to the buffer queue for subsequent assignment; wherein the first pointer and the second pointer are adjusted when data is written to the assigned buffer set and read from the assigned buffer set.