Design of practical routing protocols is complex and dificult due to complicated requirements of faulttolerance and flexibility. The protocol is defined to be fault-tolerant if messages can be rerouted via another path when the communication channel fails. In this paper, we propose a new synthesis method for generating a fault-tolerant routing protocol for a given service specification and a network topology. The routing protocol thus obtained adopts a multipath routing augmented with sets, where each set stores the next nodes for routing, and updates the sets according to network topology changes. Additionally, the routing protocol can attain flexibility by the multipath routing mechanism in the sense that only a small amount of changes is needed for addition or deletion of nodes. Finally, we show the effectiveness of the proposed method through an application to a typical routing service of message delivery from a source node to a destination node.