Patent ID: 8300650

Claim:
An apparatus to configure one or more routes through a three-stage Clos-network packet switch to forward data received at an input port for the three-stage Clos-network packet switch, the received data partitioned into one or more cells and stored at one or more virtual output queues maintained at the input port coupled to an input module for the three-stage Clos-network packet switch, the one or more cells stored at the one or more virtual output queues separately destined for an output port coupled to an output module from among one or more output modules for the three-stage Clos-network packet switch, the apparatus comprising: an input manager at the input port, the input manager including logic configured to: obtain a cell count associated with the one or more cells stored at the one or more virtual output queues maintained at the input port coupled to an input module, the one or more virtual output queues separately associated with one or more output modules; determine which of the one or more virtual output queues separately associated with a given output module from among the one or more output modules has the largest total cell count; place a request to match a first link between the input module and a central module, the request to indicate the total cell count for the one or more virtual output queues separately associated with the given output module that were determined to have the largest total cell count; receive a grant for the request based on the indicated total cell count being greater than a total cell count indicated in one or more other requests; accept the grant to match the first link; receive an indication that a separate request to match a second link between the central module and the given output module has been granted and the grant accepted to match the second link; and configure a route from a virtual output queue, the configured route to include the first matched link and the second matched link, the virtual output queue selected from among the one or more virtual output queues separately associated with the given output module, selection based on the virtual output queue having the largest cell count, wherein in response to a cell transfer interval, a cell stored at the virtual output queue is forwarded via the configured route to a queue maintained at the given output module, the queue associated with the destination output port for the cell.