The stable path problem is an abstraction of the basic functionality of the Internet’s BGP routing protocol. This abstraction
has received considerable attention, due to the instabilities observed in BGP. In this abstraction, each process informs its
neighboring processes of its current path to the destination. From the paths received from its neighbors, each process chooses
the best path according to some locally chosen routing policy. However, since routing policies are chosen locally, conflicts
may occur between processes, resulting in unstable behavior. Current solutions either require expensive path histories, or
prevent processes from locally choosing their routing policy. In this paper, we present a solution with small overhead, and
furthermore, each process has the freedom to choose any routing policy. However, to avoid instabilities, each process is restricted
to choose a path that is consistent with the current paths of its descendants on the routing tree. This is enforced through
diffusing computations. Furthermore, our solution is stabilizing, and thus, recovers automatically from transient faults.