Patent ID: 7042842

Claim:
A method for sending a variable length data packet through a downstream switch having a plurality of destination ports comprising: a) tracking a congestion status of the destination ports in an XOFF mask; b) using changes in the XOFF mask values to trigger a flow control primitive to an upstream switch to control flow over a virtual channel to the downstream switch; c) routing the data packet to a particular destination port by selecting an applicable routing rule from a plurality of routing rules based on a destination field within the data packet; d) if the particular destination port has a congested status in the XOFF mask, storing the data packet in a deferred queue for later processing after a change in the XOFF mask; e) transmitting the data packet over a cell-based switch fabric to the particular destination port; and f) transmitting over the same cell-based switch fabric a communication destined for a microprocessor that services the particular destination port.