In a packet-switched network that connects many computing devices (e.g., via the Internet), there are typically multiple paths from a sending device to a receiving device. The intermediate devices make routing decisions to decide which path a network packet traveling from a sending device to a destination device will take. Many strategies exist for choosing a path, such as choosing the path with the lowest cost, least number of hops, lowest latency, best quality of service, etc. While choosing an appropriate path between a source and a destination can result in efficient delivery of network packets, situations can arise that disrupt network traffic along a particular path, such as congestion, failure of a network connection, etc. While a path can be changed once a failure is detected, network traffic may be interrupted or delayed during the time it takes to identify the failure and select an alternate path to avoid the failure.