A multiprocessor computer system including a dragonfly processor interconnect network, comprising: at least one router (104, 105, 106) operable to route data by selecting from among a plurality of network paths from a target node to a destination node in the network based on one or more global and local routing tables and using one or more of network congestion information from neighboring routers and failed network link information from neighboring routers in selecting a route, wherein the network is a hierarchical network of two layers, a first layer that connects all router chips of the computer systems within a given local group and a second layer that connects all local groups (101, 102, 103), wherein global tables are used to determine how to route to a remote group when a source group is not a target group, and wherein the routing tables comprise: a global non-minimal table set to route non-minimal traffic from a source local group to an intermediate group within the second layer that is not a destination group; a global minimal table to determine a direct path from a source local group to a target local group in the second layer, a local non-minimal table set to pick a router chip in a local group that is used as a root for non-minimal routing within the local group, and a local minimal table to be used for minimal routing within a target group, wherein the global non-minimal table set comprises one or more tables including a first table to select which rank to traverse to leave a source group, a second table to select an inter chassis path to traverse, and a third table to select an optical port to leave the a current router chip on, and wherein the tables are arranged hierarchically in fixed priority order, wherein the failed network link information is based on a link alive signal being broadcasted from each tile in the router to all other tiles in the router, wherein the link alive signal for each tile indicates whether a corresponding tile has an established serial link with the router it is connected to, wherein ports for which the link is not alive are considered invalid. a global non-minimal table set to route non-minimal traffic from a source local group to an intermediate group within the second layer that is not a destination group; a global minimal table to determine a direct path from a source local group to a target local group in the second layer, a local non-minimal table set to pick a router chip in a local group that is used as a root for non-minimal routing within the local group, and a local minimal table to be used for minimal routing within a target group, wherein the global non-minimal table set comprises one or more tables including a first table to select which rank to traverse to leave a source group, a second table to select an inter chassis path to traverse, and a third table to select an optical port to leave the a current router chip on, and wherein the tables are arranged hierarchically in fixed priority order, wherein the failed network link information is based on a link alive signal being broadcasted from each tile in the router to all other tiles in the router, wherein the link alive signal for each tile indicates whether a corresponding tile has an established serial link with the router it is connected to, wherein ports for which the link is not alive are considered invalid.