A data switch is provided which routes fixed-size data packets from input
ports to output ports, using shared memory which holds a copy of each
packet in buffers. Output ports have a queue which contains pointers to
buffers holding packets bound for that port. The number of shared memory
buffers holding packets is compared to the number of buffer pointers in
the output queues. In this way, a Multicast Index (MCI), a metric of the
level of multicast traffic, is derived. The switch includes a Switch Core
Adaptation Layer (SCAL) which has a multicast input queue. Because
traffic is handled based on priority class P, a multicast threshold
MCT(P), associated with the multicast input queue, is established per
priority. While receiving traffic, the MCI is updated and, for each
priority class in each SCAL, the MCI is compared to the MCT(P) to
determine whether corresponding multicast traffic must be held.