An internet router is implemented as a network fabric of fabric routers
and links. The internet router receives data packets from trunk lines or
other internet links and analyzes header information in the data packets
to route the data packets to output internet links. The line interface
also analyzes the header to define a fabric path through the router
fabric. The internet packets are broken into flits which are transferred
through the router according to a wormhole routing protocol. Flits are
stored in fabric routers at storage locations assigned to virtual
channels corresponding to destination internet links. The virtual
channels and links within the fabric define virtual networks in which
congestion in one virtual network is substantially nonblocking to data
flow through other virtual networks. Arbitration is performed at each
fabric router to assign packets to virtual channels and to assign virtual
channels to output fabric links. A virtual channel is enabled for
possible assignment to an output fabric link upon receipt of an
indication that an input buffer is available at the next fabric router of
the path.