Claims
- 1. A method of communicating a data frame of a source device of a network, comprising the steps of:
resolving the data frame at the source device to ascertain the data frame type; and forwarding the data frame with a virtual network identifier and priority information from the source device to a destination device of the network.
- 2. The method of claim 1, wherein the data frame forwarded in the step of forwarding further includes control information.
- 3. The method of claim 1, wherein the source and destination devices are both distributed switches.
- 4. The method of claim 3, further comprising the step of providing a handshake protocol for transmitting the data frame, the protocol step comprising,
transmitting a source control message from the source device to the destination device in response to the step of resolving; transmitting a destination control message from the destination device to the source device; and forwarding the data frame from the source device to the destination device in response to the source device receiving the destination control message.
- 5. The method of claim 4, wherein the step of providing occurs in response to the data frame being a unicast frame.
- 6. The method of claim 4, further comprising the steps of:
enqueueing the source control message in a transmit queue of the destination device; and determining when the source control message is at a head-of-line position in the transmit queue and the destination device is ready to transmit the data frame.
- 7. The method of claim 6, wherein the step of transmitting the destination control message occurs in response to the step of determining.
- 8. The method of claim 4, wherein if the data frame exceeds a predetermined size, the data frame is processed into a plurality of smaller frame segments such that the step of forwarding occurs repeatedly until the plurality of smaller frame segments have been forwarded to the destination device.
- 9. The method of claim 8, wherein a first smaller frame segment of the plurality of smaller frame segments is associated with a start frame, which start frame is forwarded to the destination device in the step of forwarding.
- 10. The method of claim 8, wherein one or more smaller frame segments of the plurality of smaller frame segments are associated with a continuation frame, which continuation frame is forwarded to the destination device in the step of forwarding.
- 11. The method of claim 8, wherein the plurality of frame segments received at the destination device are reassembled into the data frame.
- 12. The method of claim 4, wherein the source control message in the step of transmitting is a scheduling request message, and the destination control message in the step of transmitting is a data request message.
- 13. The method of claim 4, further comprising the step of generating a look-up table, which look-up table contains a mapping of a network address to a device identifier and an outgoing port identifier, such that when the data frame is resolved in the step of resolving, the look-up table is accessed to determine the device identifier and outgoing port to which the data frame is transmitted.
- 14. The method of claim 13, wherein the look-up table in the step of generating is a source look-up table generated in the source device.
- 15. The method of claim 13, wherein the address is a MAC address of the destination device.
- 16. The method of claim 4, wherein the data frame in the step of resolving is a unicast Ethernet frame.
- 17. The method of claim 4, wherein the destination control message in the step of transmitting is a data request message including a frame identifier that is a receive buffer handle.
- 18. The method of claim 4, wherein the destination control message in the step of transmitting is a data request message including subtype indicator.
- 19. The method of claim 4, wherein the destination control message in the step of transmitting is a data reject message including a frame identifier that is a receive buffer handle.
- 20. The method of claim 4, wherein the destination control message in the step of transmitting is a data reject message including subtype indicator.
- 21. The method of claim 3, wherein the data frame is a multicast frame that is routed according to one of bitmap information and a multicast identifier field.
- 22. The method of claim 21, wherein if the data frame exceeds a predetermined size, the data frame is processed into a plurality of smaller frame segments such that the step of forwarding occurs repeatedly until the plurality of smaller frame segments have been forwarded to the destination device.
- 23. The method of claim 22, wherein a first smaller frame segment of the plurality of smaller frame segments is associated with a start frame, which start frame is forwarded to the destination device in the step of forwarding.
- 24. The method of claim 22, wherein one or more smaller frame segments of the plurality of smaller frame segments are associated with a continuation frame, which continuation frame is forwarded to the destination device in the step of forwarding.
- 25. The method of claim 22, wherein the plurality of frame segments received at the destination device are reassembled into the data frame.
- 26. The method of claim 1, wherein the source device is a distributed switch and the destination device is a switch fabric.
- 27. The method of claim 26, further comprising the step of providing a handshake protocol for transmitting the data frame, the protocol step comprising,
transmitting a source control message from the source device to the destination device in response to the step of resolving; transmitting a destination control message from the destination device to the source device; and forwarding the data frame from the source device to the destination device in response to the source device receiving the destination control message.
- 28. The method of claim 27, wherein the step of providing occurs in response to the data frame being a unicast frame.
- 29. The method of claim 26, further comprising the steps of:
enqueueing the source control message in a transmit queue of the destination device; and determining when the source control message is at a head-of-line position in the transmit queue and the destination device is ready to transmit the data frame.
- 30. The method of claim 29, wherein the step of transmitting the destination control message occurs in response to the step of determining.
- 31. The method of claim 26, wherein if the data frame exceeds a predetermined size, the data frame is processed into a plurality of smaller frame segments such that the step of forwarding occurs repeatedly until the plurality of smaller frame segments have been forwarded to the destination device.
- 32. The method of claim 31, wherein a first smaller frame segment of the plurality of smaller frame segments is associated with a start frame, which start frame is forwarded to the destination device in the step of forwarding.
- 33. The method of claim 31, wherein one or more smaller frame segments of the plurality of smaller frame segments are associated with a continuation frame, which continuation frame is forwarded to the destination device in the step of forwarding.
- 34. The method of claim 31, wherein the plurality of frame segments received at the destination device are reassembled into the data frame.
- 35. The method of claim 26, wherein the source control message in the step of transmitting is a scheduling request message, and the destination control message in the step of transmitting is a data request message.
- 36. The method of claim 26, further comprising the step of generating a look-up table, which look-up table contains a mapping of a network address to a device identifier and an outgoing port identifier of an outgoing port, such that when the data frame is resolved in the step of resolving, the look-up table is accessed to determine the outgoing port to which the data frame is transmitted.
- 37. The method of claim 36, wherein the look-up table in the step of generating is a source look-up table generated in the source device.
- 38. The method of claim 36, wherein the address is a MAC address of the destination device.
- 39. The method of claim 26, wherein the data frame in the step of resolving is a unicast Ethernet frame.
- 40. The method of claim 26, wherein the destination control message in the step of transmitting is a data request message including a frame identifier that is a receive buffer handle.
- 41. The method of claim 26, wherein the destination control message in the step of transmitting is a data request message including subtype indicator.
- 42. The method of claim 26, wherein the destination control message in the step of transmitting is a data reject message including a frame identifier that is a receive buffer handle.
- 43. The method of claim 26, wherein the destination control message in the step of transmitting is a data reject message including subtype indicator.
- 44. The method of claim 25, wherein the data frame is a multicast frame that is routed according to one of bitmap information and a multicast identifier field.
- 45. The method of claim 44, wherein if the data frame exceeds a predetermined size, the data frame is processed into a plurality of smaller frame segments such that the step of forwarding occurs repeatedly until the plurality of smaller frame segments have been forwarded to the destination device.
- 46. The method of claim 45, wherein a first smaller frame segment of the plurality of smaller frame segments is associated with a start frame, which start frame is forwarded to the destination device in the step of forwarding.
- 47. The method of claim 45, wherein one or more smaller frame segments of the plurality of smaller frame segments are associated with a continuation frame, which continuation frame is forwarded to the destination device in the step of forwarding.
- 48. The method of claim 45, wherein the plurality of frame segments received at the destination device are reassembled into the data frame.
- 49. A network architecture for communication between a plurality of network devices, each network device of the plurality of network devices comprising:
a receive buffer for receiving incoming data from an upstream network device of the plurality of network devices; a transmit buffer for transmitting outgoing data to a downstream network device of the plurality of network devices; receive control logic operating in conjunction with said receive buffer for controlling said incoming data from said upstream network device; and transmit control logic operating in conjunction with said transmit buffer for controlling said outgoing data to said downstream network device; wherein in a first mode, flow of said incoming data and said outgoing data between the plurality of network devices is in one direction; wherein in a second mode, flow of said incoming data and said outgoing data is bidirectional between the plurality of network devices.
Parent Case Info
[0001] This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent application Serial No. 06/261,269 filed Jan. 12, 2001 and entitled “Fast Data Path Protocol For Network Switching.”
Provisional Applications (1)
|
Number |
Date |
Country |
|
60261269 |
Jan 2001 |
US |