Claims
- 1. An apparatus for processing data frames comprising:
a memory having a plurality of memory queues; a first network interface to receive a first data frame having a first protocol, said first data frame to be one of a raw frame type and a normal frame type; and, a plurality of processing engines coupled to the first network interface and said memory, one or more of the plurality of processing engines to:
store a header of the first data frame in a first entry of said plurality of memory queues, copy, when said first data frame is of the raw frame type, the header of the first data frame in the first entry to a second entry of the plurality of memory queues, encapsulate said first data frame in a second data frame having a second protocol, and transmit the second data frame from a second interface of the networking device in accordance with the second protocol.
- 2. The apparatus of claim 1, wherein said apparatus is a protocol bridge, and wherein said first protocol is Fibre Channel (FC) and said second protocol is Packet-over-SONET (POS).
- 3. The apparatus of claim 1, wherein one or more of the plurality of processing engines, prior to said copying of the header of the first data frame in the first entry to the second entry, is further to generate a new header in the second entry of the plurality of memory queues, said new header having the second protocol.
- 4. The apparatus of claim 3, wherein one or more of the plurality of processing engines copies, when said first data frame is of the raw frame type, the header of the first data frame in the first entry to a location behind the new header in the second entry.
- 5. The apparatus of claim 3, wherein one or more of the plurality of processing engines copies, when said first data frame is of the raw frame type, an SOF character and the header of the first data frame in the first entry to a location behind the new header in the second entry.
- 6. The apparatus of claim 3, wherein one or more of the plurality of processing engines, when said first data frame is of the raw frame type, is further to copy a checksum from the header of the first entry to a in the second entry.
- 7. The apparatus of claim 3, wherein one or more of the plurality of processing engines, when said first data frame is of the raw frame type, is further to copy a checksum and an EOF character from the header of the first entry to a location in the second entry.
- 8. The apparatus of claim 1, wherein one or more of the plurality of processing engines is further to,
store a payload of the first data frame in a buffer of the networking device, generate a segment handle for the first data frame representative of a location of the payload in the buffer, and copy the segment handle to the second entry of the plurality of memory queues.
- 9. The apparatus of claim 8, wherein one or more of the plurality of processing engines, in order to encapsulate said first data frame in the second data frame, builds the second data frame by,
combining the header and the new header into the second data frame, combining the payload into the second data frame using the segment handle, and combining a checksum into the second data frame.
- 10. The apparatus of claim 8, wherein one or more of the plurality of processing engines, in order to encapsulate said first data frame in the second data frame, builds the second data frame by,
combining the header, an SOF character and the new header into the second data frame, combining the payload into the second data frame using the segment handle, and combining a checksum and an EOF character into the second data frame.
- 11. The apparatus of claim 1, wherein said first interface is coupled to a Fibre Channel network and the second interface is coupled to a packet-over SONET network.
- 12. The apparatus of claim 1, wherein said first data frame further includes a payload, and one or more of the plurality of processing engines is further to,
separate said payload from the data frame, and store said payload in a buffer of the apparatus.
- 13. The apparatus of claim 1, wherein the plurality of processing engines is comprised of hardware logic and a local processor.
- 14. The apparatus of claim 13, wherein each of said plurality of memory queues is shared dual-port RAM that is accessible by both the hardware logic and the local processor.
- 15. A networking device for processing raw data frames comprising:
a memory having a plurality of memory queues; a first network interface to receive a raw data frame having a first protocol; and, a plurality of processing engines coupled to the first network interface and said memory, one or more of the plurality of processing engines to,
store the raw data frame in a buffer of the networking device, store a header of the raw data frame in a first entry of a plurality of memory queues, generate a new header in a second entry of the plurality of memory queues, said new header having a second protocol, copy a segment handle to the second entry that is representative of a location of said raw data frame in the buffer, encapsulate said raw data frame in an outgoing data frame having a second protocol, and transmit the outgoing data frame from a second interface of the networking device in accordance with the second protocol.
- 16. The networking device of claim 15, wherein said networking device is a protocol bridge, and wherein said first protocol is Fibre Channel (FC) and said second protocol is Packet-over-SONET (POS).
- 17. The networking device of claim 15, wherein one or more of the plurality of processing engines, to encapsulate said raw data frame in the outgoing data frame, builds the outgoing data frame by incorporating the new header and the raw data frame, using the segment handle, into the outgoing data frame.
- 18. The networking device of claim 15, wherein said first interface is coupled to a Fibre Channel network and the second interface is coupled to a packet-over SONET network.
- 19. The networking device of claim 15, wherein the plurality of processing engines is comprised of both hardware logic and a local processor.
- 20. The networking device of claim 19, wherein each of said plurality of memory queues is shared dual-port RAM that is accessible by both the hardware logic and the local processor.
- 21. A method for processing data frames by a networking device comprising:
receiving a first data frame on a first interface of the networking device, where said first data frame has a first protocol and is one of a raw frame type and a normal frame type; storing a header of the first data frame in a first entry of a plurality of memory queues; copying, when said first data frame is of the raw frame type, the header of the first data frame in the first entry to the second entry of the plurality of memory queues; encapsulating said first data frame in a second data frame having a second protocol; and transmitting the second data frame from a second interface of the networking device according to the second protocol.
- 22. The method of claim 21, wherein said networking device is a protocol bridge, and wherein said first protocol is Fibre Channel (FC) and said second protocol is Packet-over-SONET (POS).
- 23. The method of claim 21, further comprising, prior to said copying of the header of the first data frame, generating a new header in the second entry of the plurality of memory queues, said new header having the second protocol.
- 24. The method of claim 23, wherein said copying of the header of the first data frame in the first entry to the second entry comprises copying, when said first data frame is of the raw frame type, the header of the first data frame in the first entry to a location behind the new header in the second entry of the plurality of memory queues.
- 25. The method of claim 23, wherein said copying of the header of the first data frame in the first entry to the second entry comprises copying, when said first data frame is of the raw frame type, an SOF character and the header of the first data frame in the first entry to a location behind the new header in the second entry.
- 26. The method of claim 23, further comprising copying, when said first data frame is of the raw frame type, a checksum of the first data frame in the first entry to the second entry.
- 27. The method of claim 23, further comprising copying, when said first data frame is of the raw frame type, an EOF character of the first data frame in the first entry to the second entry.
- 28. The method of claim 21, further comprising:
storing a payload of the first data frame in a buffer of the networking device; and, generating a segment handle for the first data frame representative of a location of the payload in the buffer; copying the segment handle to the second entry of the plurality of memory queues.
- 29. The method of claim 28, wherein encapsulating said first data frame in the second data frame comprises building the second data frame by,
combining the header and the new header into the second data frame, and combining the payload into the second data frame using the segment handle.
- 30. The method of claim 28, wherein encapsulating said first data frame in the second data frame comprises building the second data frame by,
combining the header and the new header into the second data frame, combining the payload into the second data frame using the segment handle, and combining a checksum into the second data frame.
- 31. The method of claim 28, wherein encapsulating said first data frame in the second data frame comprises building the second data frame by,
combining the header and the new header into the second data frame, combining the payload into the second data frame using the segment handle, combining a checksum into the second data frame, and combining an EOF character into the second data frame.
- 32. The method of claim 21, wherein said first data frame further includes a payload, and the method further comprises:
separating said payload from the data frame; and storing said payload in a buffer of the networking device.
- 33. The method of claim 21, wherein each of said plurality of memory queues is shared dual-port RAM that is accessible by both the hardware logic and a local processor.
- 34. A method for processing raw data frames by a networking device comprising:
receiving a raw data frame on a first interface of the networking device, where said first data frame has a first protocol; storing the raw data frame in a buffer of the networking device; storing a header of the raw data frame in a first entry of a plurality of memory queues; generating a new header in a second entry of the plurality of memory queues, said new header having a second protocol; copying a segment handle to the second entry that is representative of a location of said raw data frame in the buffer; and, encapsulating said raw data frame in an outgoing data frame having a second protocol.
- 35. The method of claim 34, wherein said networking device is a protocol bridge, and wherein said first protocol is Fibre Channel (FC) and said second protocol is Packet-over-SONET (POS).
- 36. The method of claim 34, wherein encapsulating said raw data frame in the outgoing data frame comprises building the outgoing data frame by incorporating the new header and the raw data frame, using the segment handle, into the outgoing data frame.
- 37. The method of claim 34, further comprising transmitting the outgoing data frame from a second interface of the networking device according to the second protocol.
- 38. The method of claim 34, wherein each of said plurality of memory queues is shared dual-port RAM.
- 39. The method of claim 34, further comprising setting a bit in the second entry which directs said networking device to take most of the information needed for said outgoing frame from said buffer.
- 40. A networking device for processing data frames comprising:
a memory including a plurality of memory queues; a first network interface to receive a packet-over-SONET (POS) data frame containing a raw data frame having a Fibre Channel protocol; and, a plurality of processing engines coupled to the first network interface and said memory, one or more of the plurality of processing engines to,
remove a POS header from the POS data frame and store the POS header in a first entry of a plurality of memory queues, store the raw data frame in a buffer of the networking device, generate, using the raw data frame stored in the buffer, a new header in a second entry of the plurality of memory queues according to the Fibre Channel protocol, generate an outgoing frame according to the Fibre Channel protocol by combining the raw data frame stored in the buffer with the new header, and transmit the outgoing frame from a second interface of the networking device according to the Fibre Channel protocol.
- 41. The networking device of claim 40, wherein the plurality of processing engines is comprised of both hardware logic and a local processor.
- 42. The networking device of claim 41, wherein each of said plurality of memory queues is shared dual-port RAM that is accessible by both the hardware logic and the local processor.
- 43. The networking device of claim 40, wherein one or more of the plurality of processing engines is further to determine a mechanism for generating a cyclic redundancy check checksum for the raw data frame, the mechanism to be selected from the group consisting of: 1) using a checksum located in the raw data frame in the buffer, 2) using a checksum generated by one or more of the plurality of processing engines instead of the checksum, located in the raw data frame, and 3) appending the checksum generated by the one or more of the plurality of processing engines to the data located in the raw data frame in the buffer.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to and claims priority from provisional application serial No. 60/441,764, entitled “Method and Apparatus for Processing Raw Fibre Channel Frames,” filed on Jan. 21, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60441764 |
Jan 2003 |
US |