Adaptive Routing in InfiniBand Hardware