syntax = "proto3"; // Router service is used by the proxy to lookup routes service Router { rpc Lookup(LookupRequest) returns (LookupResponse) {}; } // LookupRequest is made to Lookup message LookupRequest { Query query = 1; } // LookupResponse is returns by Lookup message LookupResponse { repeated Route routes = 1; } // Query is passed in a LookupRequest message Query { // service to lookup string service = 1; } // Route is a service route message Route { // service for the route string service = 1; // the address that advertise this route string address = 2; // gateway as the next hop string gateway = 3; // the network for this destination string network = 4; // the network link string link = 5; // the metric / score of this route int64 metric = 6; }