Patent ID: 6958973

Claim:
An output queuing method for forwarding packets in a switching network, the switching network containing a plurality of ports, each port corresponding to a port output queue, a global output queue shared by all port output queues, a plurality of first in first out, FIFO, blocks allocated to all of the port output queues and to the global output queue, each of the FIFO blocks comprising Nb FIFO nodes and a pointer, Nb being a natural number, each FIFO node comprising a first field and a second field, the output queuing method comprising: receiving a packet and identifying the type and the destination port of the received packet so as to enqueue a FIFO node relating to the received packet into one of the global output queue and the port output queues; if the received packet is a unicast packet, setting the first and second fields of a unicast FIFO node in the port output queue of the destination port, wherein the unicast FIFO node is regarded as the FIFO node relating to the received packet enqueued into the port output queue of the destination port; if the received packet is a multicast packet, setting the second field of a multicast FIFO node in the global output queue according to the destination ports of the multicast packet, wherein the multicast FIFO node is regarded as the FIFO node relating to the received packet enqueued into the global output queue; and setting the first field and the second field of a last unicast FIFO node in each port output queue so as to indicate how many multicast packets following a unicast packet related to the last unicast FIFO node in each port output queue are to be skipped and dequeued, respectively; when the received packet is the unicast packet and is being processed, reading the first field and the second field in the unicast FIFO node corresponding to the unicast packet and sending out the unicast packet; and sending out or skipping at least a multicast packet following the received packet according to the first field and the second field of the unicast FIFO node and the second field of the multicast FIFO node related to the multicast packet following the received packet.