Claims
- 1. A method of forwarding data in a network switch fabric, said method comprising:
receiving an incoming data packet at a first port of the fabric; reading a first packet portion, less than a full packet length, to determine particular packet information, said particular packet information including an opcode value; reading a particular forwarding table of a plurality forwarding tables based on the opcode value; determining an egress port bitmap based on entries read from the particular forwarding table; forwarding the incoming data packet based on the egress port bitmap.
- 2. A method as recited in claim 1, wherein said opcode value identifies whether the incoming data packet is a unicast packet, a multicast packet, a broadcast packet or resulted in a destination lookup failure.
- 3. A method as recited in claim 2, wherein said step of reading a particular forwarding table comprises reading from one of a unicast forwarding table, a broadcast forwarding table, and a multicast forwarding table based on the opcode value.
- 4. A method as recited in claim 1, further comprising determining whether said incoming data packet is to be mirrored, based on said particular packet information.
- 5. A method as recited in claim 1, wherein said step of determining an egress port bitmap comprises the steps of:
determining if a destination for the incoming data packet is a trunked port; reading from a trunk group table, and deriving the egress port bitmap based on entries in the trunk group table.
- 6. A method as recited in claim 1, further comprising forwarding the incoming data packet to a central computing unit when the opcode value so indicates.
- 7. A method as recited in claim 1, further comprising determining a class of service for the incoming data packet from said particular packet information and setting a priority for forwarding based on the class of service.
- 8. A network switch fabric for forwarding data comprising:
means for receiving an incoming data packet at a first port of the fabric; means for reading a first packet portion, less than a full packet length, to determine particular packet information, said particular packet information including an opcode value; means for reading a particular forwarding table of a plurality forwarding tables based on the opcode value; means for determining an egress port bitmap based on entries read from the particular forwarding table; means for forwarding the incoming data packet based on the egress port bitmap.
- 9. A network switch fabric as recited in claim 8, wherein said opcode value identifies whether the incoming data packet is a unicast packet, a multicast packet, a broadcast packet or resulted in a destination lookup failure.
- 10. A network switch fabric as recited in claim 9, wherein said means for reading a particular forwarding table comprises means for reading from one of a unicast forwarding table, a broadcast forwarding table, and a multicast forwarding table based on the opcode value.
- 11. A network switch fabric as recited in claim 8, further comprising means for determining whether said incoming data packet is to be mirrored, based on said particular packet information.
- 12. A network switch fabric as recited in claim 8, wherein said means for determining an egress port bitmap comprises:
means for determining if a destination for the incoming data packet is a trunked port; means for reading from a trunk group table, and means for deriving the egress port bitmap based on entries in the trunk group table.
- 13. A network switch fabric as recited in claim 8, further comprising means for forwarding the incoming data packet to a central computing unit when the opcode value so indicates.
- 14. A network switch fabric as recited in claim 8, further comprising means for determining a class of service for the incoming data packet from said particular packet information and setting a priority for forwarding based on the class of service.
- 15. A network switch fabric for forwarding data comprising:
at least one ingress port interface, having at least one ingress port and an ingress logic block that determines forwarding of packets; at least one egress port interface, having at least one egress port; a bus ring connected to the at least one ingress port interface and the at least one egress interface; a memory management unit connected with said bus ring; and a packet pool memory connected to the memory management unit, for storing packet data; wherein the ingress logic block forwards a data packet based on an opcode value read from a header of the data packet.
- 16. A network switch fabric as recited in claim 15, wherein said at least one ingress port interface comprises a serializer/deserializer, a medium access controller and an ingress port map logic module.
- 17. A network switch fabric as recited in claim 15, further wherein said memory management unit has a cell packer and a cell unpacker, wherein the cell packer groups packet data into cells to be stored in said packet pool memory and the cell unpacker separates stored cells before releasing the cells to the bus ring.
- 18. A network switch fabric as recited in claim 17, further comprising an egress scheduler communicating with the cell unpacker, where the egress scheduler determines which packet data should be retrieved from the packet pool memory according to priority rules.
REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority of U.S. Provisional Patent Application Serial No. 60/212,592, filed on Jun. 19, 2000 and U.S. Provisional Patent Application Serial No. 60/229,305, filed on Sep. 1, 2000. The contents of the provisional applications are hereby incorporated by reference.
Continuations (2)
|
Number |
Date |
Country |
Parent |
09343410 |
Jun 1999 |
US |
Child |
10430424 |
May 2003 |
US |
Parent |
09883214 |
Jun 2001 |
US |
Child |
10430424 |
May 2003 |
US |