Claims
- 1. A method for scheduling and transmitting transmit protocol messages, comprising the steps of:
receiving a data frame for transmission to a data pump; inserting the data frame into a transmit message queue; determining whether a write credit count is greater than 0; performing the following steps if it is determined that the write credit count is greater than 0:
dequeuing the data frame; sending the data frame to the data pump; decrementing the write credit count; and setting a waiting_for_write_credit flag is to true, indicating that the transmit processor has a frame waiting for transmission, but lacks sufficient write credits to send the frame to the data pump, if it is determined that the write credit count is not greater than 0.
- 2. The method of claim 1, further comprising the steps of:
receiving an additional write credit from the data pump; incrementing the write credit count to reflect the received additional write credit; determining whether the waiting_for_write_credit flag is set to true; and performing the following steps if it is determined that the waiting_for_write_credit flag is set to true:
dequeuing the data frame; sending the data frame to the data pump; and decrementing the write credit count.
- 3. The method of claim 1, further comprising the step of transmitting the data frame on to a receiving peer end following the step of sending the data frame to the data pump.
- 4. The method of claim 1, wherein, following the step of decrementing the write credit count, the following steps are performed:
determining whether the data frame was a part of a message including at least one additional frame; performing the following steps if it is determined that the data frame was a part of a message including at least one additional data frame:
receiving an additional data frame; inserting the additional data frame into the transmit message queue; determining whether a write credit count is greater than 0; performing the following steps if it is determined that the write credit count is greater than 0:
dequeuing the additional data frame; sending the additional data frame to the data pump; decrementing the write credit count; and setting a waiting_for_write_credit flag is to true, indicating that the transmit processor has a frame waiting for transmission, but lacks sufficient write credits to send the frame to the data pump, if it is determined that the write credit count is not greater than 0.
- 5. A system for scheduling and transmitting transmit protocol messages, comprising:
means for receiving a data frame for transmission to a data pump; means for inserting the data frame into a transmit message queue; means for determining whether a write credit count is greater than 0; means for dequeuing the data frame if it is determined that the write credit count is greater than 0; means for sending the data frame to the data pump following the dequeuing of the data frame; means for decrementing the write credit count following sending of the data frame to the data pump; and means for setting a waiting_for_write_credit flag is to true, indicating that the transmit processor has a frame waiting for transmission, but lacks sufficient write credits to send the frame to the data pump, if it is determined that the write credit count is not greater than 0.
- 6. The system of claim 5, further comprising:
means for receiving an additional write credit from the data pump; means for incrementing the write credit count to reflect the received additional write credit; means for determining whether the waiting_for_write_credit flag is set to true; and means for dequeuing the data frame if it is determined that the waiting_for_write_credit flag is set to true; means for sending the data frame to the data pump following the dequeuing of the data frame; means for decrementing the write credit count following sending of the data frame to the data pump.
- 7. The system of claim 5, further comprising means for transmitting the data frame on to a receiving peer end following the sending of the data frame to the data pump.
- 8. The system of claim 5, further comprising:
means for determining whether the data frame was a part of a message including at least one additional frame following the decrementing of the write credit count; means for determining whether a write credit count is greater than 0 if it is determined that the data frame was a part of a message including at least one additional data frame; means for receiving an additional data frame; means for inserting the additional data frame into the transmit message queue; means for dequeuing the additional data frame if it is determined that a write credit count is greater than 0; means for sending the additional data frame to the data pump following dequeuing of the data frame; means for decrementing the write credit count following the sending of the additional data frame to the data pump; and means for setting the waiting_for_write_credit flag is to true if it is determined that the write credit count is not greater than 0.
- 9. A computer readable medium incorporating one or more instructions for scheduling and transmitting transmit protocol messages, the instructions comprising:
one or more instructions for receiving a data frame for transmission to a data pump; one or more instructions for inserting the data frame into a transmit message queue; one or more instructions for determining whether a write credit count is greater than 0; one or more instructions for executing the following instructions if it is determined that the write credit count is greater than 0:
one or more instructions for dequeuing the data frame; one or more instructions for sending the data frame to the data pump; one or more instructions for decrementing the write credit count; and one or more instructions for setting a waiting_for_write_credit flag is to true, indicating that the transmit processor has a frame waiting for transmission, but lacks sufficient write credits to send the frame to the data pump, if it is determined that the write credit count is not greater than 0.
- 10. The computer readable medium of claim 9, the instructions further comprising:
one or more instructions for receiving an additional write credit from the data pump; one or more instructions for incrementing the write credit count to reflect the received additional write credit; one or more instructions for determining whether the waiting_for_write_credit flag is set to true; and one or more instructions for executing the following instructions if it is determined that the waiting_for_write_credit flag is set to true:
one or more instructions for dequeuing the data frame; one or more instructions for sending the data frame to the data pump; and one or more instructions for decrementing the write credit count.
- 11. The computer readable medium of claim 9, further comprising one or more instructions for transmitting the data frame on to a receiving peer end following the one or more instructions for sending the data frame to the data pump.
- 12. The computer readable medium of claim 9, wherein, following the one or more instructions for decrementing the write credit count, the following instructions are executed:
one or more instructions for determining whether the data frame was a part of a message including at least one additional frame; one or more instructions for executing the following instructions if it is determined that the data frame was a part of a message including at least one additional data frame:
one or more instructions for receiving an additional data frame; one or more instructions for inserting the additional data frame into the transmit message queue; one or more instructions for determining whether a write credit count is greater than 0; one or more instructions for executing the following instructions if it is determined that the write credit count is greater than 0:
one or more instructions for dequeuing the additional data frame; one or more instructions for sending the data frame to the data pump; one or more instructions for decrementing the write credit count; and one or more instructions for setting a waiting_for_write_credit flag is to true, indicating that the transmit processor has a frame waiting for transmission, but lacks sufficient write credits to send the frame to the data pump, if it is determined that the write credit count is not greater than 0.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. provisional patent application Serial No. 60/343,200 filed Dec. 31, 2001, the disclosure of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60343200 |
Dec 2001 |
US |