Claims
- 1. A networking device, comprising:
a payload buffer having a plurality of data segment locations; a FIFO buffer having a write pointer and a read pointer, the FIFO buffer to include a plurality of entries to store a plurality of index values corresponding to said plurality of data segment locations; a processor, coupled to the FIFO buffer and the payload buffer, to,
write a plurality of data frames, which are received over a first network interface according to a source protocol, to select locations of said plurality of data segment locations, wherein each of said select locations is based on a current index value of the plurality of index values that is stored in a current read pointer entry of the plurality of entries, increment said read pointer to a subsequent entry of the plurality of entries after writing each of said plurality of data frames, and transmit, in accordance with a destination protocol, the plurality of data frames over a second network interface in a different order than said plurality of data frames were received over the first network interface.
- 2. The networking device of claim 1, wherein to transmit said plurality of data frames over the second network, the processor is to,
read the plurality of data frames from said select locations, and write a corresponding index value for each of said select locations to a current write pointer entry of the plurality of entries.
- 3. The networking device of claim 1, wherein said plurality of data frames includes a high priority data frame and a low priority data frame, and wherein said processor further causes said high priority data frame to be transmitted over the second network interface before said low priority data frame.
- 4. The networking device of claim 1, wherein said plurality of data frames includes a plurality of out-of-order data frames, and said processor is further to reorder said plurality of out-of-order data frames before being transmitted over the second network interface.
- 5. The networking device of claim 1, wherein the payload buffer has sixteen data segment locations and the FIFO buffer has sixteen entries.
- 6. A networking device, comprising:
a payload buffer having a plurality of data segment locations; a FIFO buffer having a write pointer and a read pointer, the FIFO buffer including a plurality of index values corresponding to said plurality of data segment locations; and, a processor, coupled to the FIFO buffer and the payload buffer, to,
write a plurality of data frames received over a first network interface to the plurality of data segment locations in accordance with said read pointer's position, read the plurality of data frames from the plurality of data segment locations, write corresponding index values to the FIFO buffer in accordance with said write pointer's position, and transmit the plurality of data frames over a second network interface in a different order than said plurality of data frames were received over the first network interface.
- 7. The networking device of claim 6, wherein said networking device is a network protocol bridge and wherein,
the plurality of data frames are received over the first network interface according to a source protocol, and the plurality of data frames are transmitted over the second network interface in accordance with a destination protocol.
- 8. The networking device of claim 7, wherein the destination protocol and the source protocol are one of Fibre Channel and packet-over-SONET.
- 9. The networking device of claim 6, wherein said plurality of data frames includes a high priority data frame and a low priority data frame, and said processor is further to cause said high priority data frame to be transmitted over the second network interface before said low priority data frame is transmitted.
- 10. The networking device of claim 6, wherein said plurality of data frames includes a plurality of out-of-order data frames, and said processor is further to reorder said plurality of out-of-order data frames before being transmitted over the second network interface.
- 11. A method, comprising:
writing a plurality of data frames that were received over a first network interface according to a source protocol to select locations of a plurality of data segment locations of a payload buffer, wherein each of said select locations is based on a current index value for a current position of a read pointer of a FIFO buffer, said FIFO buffer having the read pointer, a write pointer, and a plurality of entries that stores a plurality of index values corresponding to the plurality of data segment locations; incrementing said read pointer to a subsequent entry of the plurality of entries after writing each of said plurality of data frames; and transmitting, in accordance with a destination protocol, the plurality of data frames over a second network interface in a different order than said plurality of data frames were received over the first network interface.
- 12. The method of claim 11, wherein said plurality of data frames includes a high priority data frame and a low priority data frame, the method further comprising transmitting said high priority data frame over the second network interface before said low priority data frame.
- 13. The method of claim 11, wherein said plurality of data frames includes a plurality of out-of-order data frames, and the method further comprises reordering said plurality of out-of-order data frames, and transmitting said plurality of out-of-order data frames over the second network interface after said reordering.
- 14. A method, comprising:
writing a plurality of data frames to the plurality of data segment locations of a payload buffer in accordance with a read pointer's position, where said read pointer is associated with a FIFO buffer having a write pointer and said read pointer, and the FIFO buffer includes a plurality of index values corresponding to said plurality of data segment locations; reading the plurality of data frames from the plurality of data segment locations; and writing corresponding index values from the plurality of index values to the FIFO buffer in accordance with said write pointer's position.
- 15. The method of claim 14, further comprising,
receiving said plurality of data frames over a first network interface, the plurality of data frames having a source protocol; and, transmitting said plurality of data frames over a second network interface in accordance with a destination protocol.
- 16. The method of claim 15, wherein the destination protocol and the source protocol are one of Fibre Channel and packet-over-SONET.
- 17. The method of claim 15, further comprising transmitting said plurality of data frames over said second network interface in a different order than said plurality of data frames were received on said first network interface.
- 18. The method of claim 15, wherein said plurality of data frames includes a high priority data frame and a low priority data frame, the method further comprises transmitting the high priority data frame over the second network interface before said low priority data frame is transmitted.
- 19. The method of claim 15, wherein said plurality of data frames includes a plurality of out-of-order data frames, and the method further comprises reordering said plurality of out-of-order data frames before being transmitted over the second network interface.
- 20. A networking device, comprising:
a payload buffer having a plurality of data segment locations; a FIFO buffer having a write pointer and a read pointer, the FIFO buffer to include a plurality of entries to store a plurality of index values corresponding to said plurality of data segment locations; a processor, coupled to the FIFO buffer and the payload buffer, to,
write a first data frame to a first location of the plurality of data segment locations, the processor to select the first location based on a first index value stored in a current read pointer entry of the plurality of entries, and increment said read pointer to a subsequent entry of the plurality of entries after said writing the first data frame.
- 21. The networking device of claim 20, wherein the processor is further to,
read a second data frame from a second location of the plurality of data segment locations, and write a second index value of the second location to a current write pointer entry of the plurality of entries.
- 22. The networking device of claim 21, wherein said networking device is a network protocol bridge and further comprises,
a first network interface to receive said first data frame and second data frame, each having a source protocol; and, a second network interface to transmit said first data frame and second data frame in accordance with a destination protocol.
- 23. The networking device of claim 22, wherein said processor is further to cause a plurality of data frames to be transmitted over said second network interface in a different order than said plurality of data frames were received on said first network interface.
- 24. The networking device of claim 22, wherein said networking device is to receive a plurality of data frames over the first network interface that includes a high priority data frame and a low priority data frame, and wherein said processor further causes said high priority data frame to be transmitted over the second network interface before said low priority data frame is transmitted.
- 25. The networking device of claim 22, wherein said networking device is to receive a plurality of data frames over the first network interface, said plurality of data frames to include a plurality of out-of-order data frames, and said processor is further to reorder said plurality of out-of-order data frames before being transmitted over the second network interface.
- 26. The networking device of claim 20, wherein the payload buffer has sixteen data segment locations and the FIFO buffer has sixteen entries.
- 27. The networking device of claim 20, wherein the processor is further to,
write a second data frame to a second location of the plurality of data segment locations, where the second location corresponds to a second index value stored in said subsequent entry of the plurality of entries; and increment said read pointer to a second subsequent entry of the plurality of entries after said writing of the second data frame.
- 28. The networking device of claim 27, wherein the processor is further to,
read a third data frame from a third location of the plurality of data segment locations, and write an index value of the third location to a current write pointer entry of the plurality of entries.
- 29. The networking device of claim 28, wherein said reading of the third data frame from the third location further comprises transmitting said third data frame over a network interface of the networking device.
- 30. The networking device of claim 20, where said third data was received by said networking device after said first data frame and before said second data frame.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to and claims priority from provisional application serial No. 60/441,851, entitled “Method and Apparatus for Managing Payload Buffer Segments in a Networking Device,” filed on Jan. 21, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60441851 |
Jan 2003 |
US |