Halo: Hop-By-Hop Adaptive Link-State Optimal Routing