A routing
system for routing packets for a
route or service comprises a plurality of routers including a source
router, wherein the source
router is configured to receive, using a service and topology
exchange protocol, service and topology state information from a STEP repository for at least one other
router based on configured relationships between routers; determine a first path to a destination for a
route or service based on the service and topology state information, the first path including an ordered
list of successive routers to receive a packet associated with the
route or service starting with a first successive router and ending with a destination router; and transmit a packet toward the first successive router with first
metadata including a
list of at least one remaining router of the ordered
list of routers to receive the packet associated with the route or service. Each successive router, starting with the first successive router, is configured to receive a packet and determine if the router is the destination router based on
metadata associated with the received packet, and when the router is not the destination router, forward the packet toward a next successive router in the ordered list of routers.