Switching ethernet controller providing packet routing
Abstract
A switched Ethernet controller (SEC) device and associated method that provides processor based intervention in the packet routing decision process is provided. The method of routing a multicast packet between a source port on a source device and a plurality of destination ports on a plurality of destination devices, utilizes a processor. The method includes the steps of the source device receiving the multicast packet via the source port, the source device sending the multicast packet to the processor, the processor examining the multicast packet, the processor determining the plurality of destination devices and corresponding the plurality of destination ports based on the results obtained during the step of examining, the processor transferring the multicast packet to the plurality of destination devices, and the plurality of destination devices sending the multicast packet to the plurality of destination ports.
Claims
exact text as granted — not AI-modified1. A method of routing a unicast packet between a source port on a source device and a destination port on a destination device, utilizing a processor, the method comprising the steps of:
a. receiving said unicast packet via said source port;
b. sending a first buffer request from said source device to said processor, wherein said first buffer request does not include said unicast packet;
c. examining said buffer request; and
d. at said processor, selecting to perform one of the following steps based on the results obtained during said step of examining:
i. causing said unicast packet to be discarded;
ii. causing said source device to send said unicast packet to said destination device, or
iii. receiving said unicast packet from said source device.
2. The device according to claim 1 , wherein said step of causing said source device to send said unicast packet to said destination device, comprises the steps of:
a. sending a second buffer request from said source processor to said destination device;
b. transferring said unicast packet from said source device to said destination device; and
c. sending said unicast packet from said destination device to said destination port.
3. The method according to claim 2 , wherein said step of transferring includes transferring said unicast packet utilizing direct memory transfer.
4. The method according to claim 1 , wherein said step of receiving said unicast packet from said source device comprises the steps of:
a. sending a second buffer request start of packet message from said processor to said source device; and
b. sending said unicast packet from said source device to said processor.
5. The method of claim 1 wherein said buffer request includes at least one of a source port, a destination device, a destination port, and a byte count.
6. The method of claim 1 wherein said source device does not send said unicast packet prior to said examining.
7. The method of claim 1 wherein said source device sends said buffer request directly to said processor.
8. A network device, comprising:
a source communication unit to receive data that includes unicast packet data from a source device; a destination communication unit to transmit data to a destination device; and a processor to receive a buffer request from the source communication unit, wherein the buffer request does not include the unicast packet data, wherein the processor, in response to the buffer request, selectively causes one of: a. ) the data to be discarded, b. ) a transfer of the buffer request to the destination communication unit, and c. ) a transfer of the data to the processor.
9. The network device of claim 8 , wherein the buffer request comprises:
a source port identification; a destination port identification; and an amount of the data.
10. The network device of claim 8 , wherein the source communication unit comprises:
a source port to receive the data from the source device; a source controller responsive to the data from the source port; and a source memory to store the data from the source port at a source location in the source memory.
11. The network device of claim 10 , wherein the destination communication unit comprises:
a destination port to transmit the data to the destination device; a destination controller responsive to the processor; and a destination memory to store the data from the source communication unit at a destination location in the destination memory.
12. The network device of claim 11 , wherein the buffer request comprises:
a source port identification; a destination port identification; and an amount of the data, wherein when the processor causes a transfer of the buffer request to the destination communication unit, the destination communication unit allocates space in the destination memory at the destination location in accordance with the amount of the data, and the source controller transfers the data from the source memory starting at the source location to the destination memory starting at the destination location.
13. The network device of claim 11 , wherein the network device further comprises:
a plurality of destination ports, wherein the source controller determines at least a selected one of the plurality of destination ports in accordance with the data received by the source port.
14. A network device for communicating on an Ethernet media, comprising:
a source communication unit, comprising: a plurality of source ports, wherein one of the plurality of source ports receives data from the Ethernet media; a source controller responsive to the data received from the plurality of source ports; and a source memory to store the data from the plurality of source ports at respective source locations in the source memory; a destination communication unit, comprising: a destination controller; a destination memory to store the data from the source communication unit at respective destination locations in the destination memory; and a plurality of destination ports, wherein one of the plurality of destination ports transmits the data stored in the destination memory to the Ethernet media, and wherein the source controller selects one of the plurality of destination ports in accordance with the data; and a processor to receive a buffer request from the source communication unit, wherein the destination controller is responsive to the processor, and wherein the processor, in response to the buffer request, selectively causes one of: a. ) the data to be discarded, b. ) a transfer of the buffer request to the selected one of the plurality of destination ports, and c. ) a transfer of the data to the processor, wherein the buffer request comprises: an identification of a selected one of the plurality of source ports; an identification of the selected one of the plurality of destination ports; and an amount of the data, and the buffer request does not include packet data.
15. A network device, comprising:
a source communication means for receiving data from a source device; a destination communication means for transmitting data that includes unicast packet data to a destination device; and a processor means for receiving a buffer request from the source communication means, wherein the buffer request does not include the unicast packet data, wherein the processor means, in response to the buffer request, selectively causes one of: a. ) the data to be discarded, b. ) a transfer of the buffer request to the destination communication means, and c. ) a transfer of the data to the processor means.
16. The network device of claim 15 , wherein the buffer request comprises:
a source port means identification; a destination port means identification; and an amount of the data.
17. The network device of claim 15 , wherein the source communication means comprises:
a source port means for receiving the data from the source device; a source controller means, responsive to the data from the source port means, for controlling the source port means; and a source memory means for storing the data from the source port means at a source location in the source memory means.
18. The network device of claim 17 , wherein the destination communication means comprises:
a destination port means for transmitting the data to the destination device; a destination controller means, responsive to the processor means, for controlling the destination port means; and a destination memory means for storing the data from the source communication means at a destination location in the destination memory means.
19. The network device of claim 18 , wherein the buffer request comprises:
a source port means identification; a destination port means identification; and an amount of the data, wherein when the processor means causes a transfer of the buffer request to the destination communication means, the destination communication means allocates space in the destination memory means at the destination location in accordance with the amount of the data, and the source controller means transfers the data from the source memory means starting at the source location to the destination memory means starting at the destination location.
20. The network device of claim 18 , wherein the network device further comprises:
a plurality of destination port means, wherein the source controller means determines at least a selected one of the plurality of destination port means in accordance with the data received by the source port means.
21. A network device for communicating on an Ethernet media, comprising:
a source communication means, comprising: a plurality of source port means, wherein one of the plurality of source port means receives data from the Ethernet media; a source controller means responsive to the data received from the plurality of source port means; and a source memory means for storing the data from the plurality of source port means at respective source locations in the source memory means; a destination communication means, comprising: a destination controller means; a destination memory means for storing the data from the source communication means at respective destination locations in the destination memory means; and a plurality of destination port means, wherein one of the plurality of destination port means transmits the data stored in the destination memory means to the Ethernet media, and wherein the source controller selects one of the plurality of destination port means in accordance with the data; and a processor means for receiving a buffer request from the source communication means, wherein the destination controller means is responsive to the processor means, and wherein the processor means, in response to the buffer request, selectively causes one of: a. ) the data to be discarded, b. ) a transfer of the buffer request to the selected one of the plurality of destination port means, and c. ) a transfer of the data to the processor means, wherein the buffer request comprises: an identification of a selected one of the plurality of source port means; an identification of the selected one of the plurality of destination port means; and an amount of the data, and the buffer request does not include packet data.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.