Claims
- 1. A method, comprising:
defining at least two transmit queues for a priority level group; receiving at least two transmit requests substantially simultaneously, the at least two transmit requests corresponding to at least one packet, respectively, the at least one packet having a priority designation corresponding to the priority level group; and processing the at least two transmit requests in parallel to queue the at least one packet corresponding to a first one of the at least two transmit requests in a first available one of the at least two transmit queues, and to queue the at least one packet corresponding to a second one of the at least two transmit requests in a next available one of the at least two transmit queues.
- 2. The method of claim 1, further comprising, indicating a queue location corresponding to a next packet to be transmitted.
- 3. The method of claim 1, wherein the priority level group corresponds to at least one communication protocol priority level.
- 4. The method of claim 1, wherein the priority level group comprises a single priority level.
- 5. The method of claim 1, wherein the priority level group comprises at least two priority levels.
- 6. The method of claim 2, wherein indicating a queue location includes setting an indicator associated with the at least one packet to identify one of the at least two transmit queues, the identified one of the at least two transmit queues corresponding to the next packet to be transmitted.
- 7. A method, comprising:
defining at least two transmit queues to correspond to at least one priority level; receiving at least two transmit requests at a send packet function of a device driver substantially simultaneously, each of the at least two transmit requests corresponding to at least one packet, respectively; assigning the at least one packet corresponding to each of the at least two transmit requests to a queue group in response to a priority designation, the queue group including the at least two transmit queues corresponding to the at least one priority level; queuing the at least one packet corresponding to a first one of the at least two transmit requests in a first available one of the at least two transmit queues; and queuing the at least one packet corresponding to a second one of the at least two transmit requests in a next available one of the at least two transmit queues.
- 8. The method of claim 7, wherein the priority designation corresponds to a communication protocol priority level.
- 9. The method of claim 7, wherein assigning the at least one packet corresponding to each of the at least two transmit requests to a queue group comprises correlating the priority designation with at least one priority level associated uniquely with the queue group.
- 10. The method of claim 7, further comprising, indicating a queue location corresponding to a next packet to be transmitted.
- 11. The method of claim 10, wherein indicating a queue location includes setting an indicator associated with the at least one packet corresponding to each of the at least two transmit requests to identify one of the at least two transmit queues, the identified one of the at least two transmit queues corresponding to the next packet to be transmitted.
- 12. An article of manufacture, comprising:
a machine-accessible medium including data that, if accessed by a machine, cause the machine to, define at least two transmit queues for a priority level group; receive at least two transmit requests substantially simultaneously, the at least two transmit requests corresponding to at least one packet, respectively, the at least one packet having a priority designation corresponding to the priority level group; and process the at least two transmit requests in parallel to queue the at least one packet corresponding to a first one of the at least two transmit requests in a first available one of the at least two transmit queues, and to queue the at least one packet corresponding to a second one of the at least two transmit requests in a next available one of the at least two transmit queues.
- 13. The article of manufacture of claim 12, further including data that, if accessed by the machine, cause the machine to indicate a queue location corresponding to a next packet to be transmitted.
- 14. The article of manufacture of claim 12, wherein the priority level group corresponds to at least one communication protocol priority level.
- 15. The article of manufacture of claim 12, wherein the priority level group comprises a single priority level.
- 16. The article of manufacture of claim 12, wherein the priority level group comprises at least two priority levels.
- 17. The article of manufacture of claim 13, wherein the data that, if accessed by the machine, cause the machine to indicate a queue location includes data that, if accessed by the machine, cause the machine to set an indicator associated with the at least one packet to identify one of the at least two transmit queues, the identified one of the at least two transmit queues corresponding to the next packet to be transmitted.
- 18. A article of manufacture, comprising:
a machine-accessible medium including data that, if accessed by a machine, cause the machine to,
define at least two transmit queues to correspond to at least one priority level; receive at least two transmit requests at a send packet function of a device driver substantially simultaneously, each of the at least two transmit requests corresponding to at least one packet, respectively; assign the at least one packet corresponding to each of the at least two transmit requests to a queue group in response to a priority designation, the queue group including the at least two transmit queues corresponding to the at least one priority level; queue the at least one packet corresponding to a first one of the at least two transmit requests in a first available one of the at least two transmit queues; and queue the at least one packet corresponding to a second one of the at least two transmit requests in a next available one of the at least two transmit queues.
- 19. The article of manufacture of claim 18, wherein the priority designation corresponds to a communication protocol priority level.
- 20. The article of manufacture of claim 18, wherein the data that, if accessed by the machine, cause the machine to assign the at least one packet corresponding to each of the at least two transmit requests to a queue group comprises data that, if accessed by the machine, cause the machine to correlate the priority designation with at least one priority level associated uniquely with the queue group.
- 21. The article of manufacture of claim 18, further including data that, if accessed by the machine, cause the machine to indicate a queue location corresponding to a next packet to be transmitted.
- 22. The article of manufacture of claim 21, wherein the data that, if accessed by the machine, cause the machine to indicate a queue location includes data that, if accessed by the machine, cause the machine to set an indicator associated with the at least one packet corresponding to each of the at least two transmit requests to identify one of the at least two transmit queues, the identified one of the at least two transmit queues corresponding to the next packet to be transmitted.
- 23. A system, comprising:
a plurality of processors to receive at least two transmit requests substantially simultaneously, each of the at least two transmit requests corresponding to at least one packet having a priority designation corresponding to a priority level group; a communications interface, communicatively coupled to the plurality of processors, to transmit packets on a network; and a memory, communicatively coupled to the plurality of processors, to store data and to provide at least two transmit queues accessible to the communications interface, the at least two transmit queues defined to correspond to the priority level group, and in response to receipt of the at least two transmit requests substantially simultaneously at the plurality of processors, the plurality of processors process the at least two transmit requests in parallel to queue the at least one packet corresponding to a first one of the at least two transmit requests in a first available one of the at least two transmit queues and to queue the at least one packet corresponding to a second one of the at least two transmit requests in a next available one of the at least two transmit queues.
- 24. The system of claim 23, wherein the plurality of processors comprise a single processor with multiple threads.
- 25. The system of claim 23, wherein the priority level group corresponds to at least one communication protocol priority level.
- 26. The system of claim 23, wherein the plurality of processors indicate a queue location, corresponding to a next packet to be transmitted via the communications interface, in conjunction with each packet corresponding to each of the at least two transmit requests.
- 27. The system of claim 26, wherein the plurality of processors indicate the queue location by setting an indicator associated with the at least one packet to identify one of the at least two transmit queues, the identified one of the at least two transmit queues corresponding to the next packet to be transmitted via the communications interface.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation-in-part of co-pending U.S. application Ser. No. 09/963,284, filed Sep. 25, 2001, and titled METHODS AND APPARATUS FOR RETAINING PACKET ORDER IN SYSTEMS UTILIZING MULTIPLE TRANSMIT QUEUES. The benefit of the filing date of the above-referenced application is hereby claimed pursuant to 35 U.S.C. §120.
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
09963284 |
Sep 2001 |
US |
| Child |
10143466 |
May 2002 |
US |