Patent ID: 7979507
Filing Date: 2011-07-12
Classification: H04L

Abstract:
1. A method, comprising: receiving an indication that data is to be transmitted for a first application thread executing on a first of a plurality of processing elements in a device; creating, at a network stack portion, payload and header information associated with the data to be transmitted; providing, from the network stack portion to an interface device driver: (i) a sequence identifier associated with a prior transmit operation for the first application thread, and (ii) synchronization information received from the interface device driver via an opaque data structure; identifying, at the interface device driver, the first processing element and a first of a plurality of transmit queues; creating, at the interface device driver, a first descriptor, including the information received from the network stack portion; calculating at the interface device driver a next available index in the first transmit queue where the first descriptor is to be inserted; and providing, from the interface device driver to the network stack portion via the opaque data structure, an indication of the next available index; providing, from the interface device driver to an interface device, a transmit initiation indication including an identifier of the first transmit queue; pulling, at the interface device, data from the first transmit queue identified by the transmit initiation indication; comparing the transmit queue of the last operation with the first transmit queue; and if the transmit queue of the last operation is the same as the first transmit queue, proceeding to process transmit operations for the first transmit queue; if the transmit queue of the last operation is not the same as the first transmit queue: