Patent ID: 8223778

Claim:
A router, comprising: a plurality of network ports; and one or more data paths connecting the plurality of network ports; wherein each network port supports a plurality of virtual channels, wherein each network port includes: an input; an output; a plurality of staging buffers coupled to the output, each of the staging buffers connected to a port router of a different network port; a multiplexer, connected to the plurality of staging buffers and to the output, for selecting data from the staging buffers to be transferred to the output; and an input buffer connected to the input, wherein the input buffer includes a port router and a virtual channel input buffer for each of a plurality of virtual input channels, wherein the port router includes a plurality of look-up tables (LUTs) and a LUT select, wherein the plurality of LUTs include route information associated with two or more destination code bits and wherein the LUT select chooses the LUT to use as a function of a plurality of destination code bits; wherein each virtual channel input buffer receives data from the input corresponding to an associated one of the plurality of virtual channel input buffers and wherein the port router selects a packet from one of the virtual channel input buffers and sends the selected packet to one of the other network ports; wherein each port includes a staging buffer associated with each of the other network ports, wherein each staging buffer includes a virtual channel staging buffer associated with each virtual channel and wherein each staging buffer is sized to permit virtual cut through routing.