In a distributed router containing routing nodes connected by a switch
fabric, an input-output processor for use in the routing nodes. The
input-out processor comprises: 1) an input interface controller for
receiving incoming data packets from N input links; 2) an output
interface controller for transmitting outgoing data packets to the switch
fabric via a first uplink and a second uplink. Each of the N input links
is assigned to one of the first and second uplinks so that incoming data
packets from each input link are transmitted to the switch fabric by the
assigned one of the first and second uplinks. The input-out processor
also comprises 3) a load balancing controller for i) determining first
and second uplink traffic levels on the first and second uplinks, ii)
determining a difference between the first and second uplink traffic
levels, iii) comparing the difference to a predetermined threshold, and,
iv) in response to a determination that the difference exceeds the
predetermined threshold, reassigning at least one input link from the
uplink having the greater uplink traffic level to the uplink having the
lesser uplink traffic level.