A global global router. More...
#include <global-route-manager.h>
Static Public Member Functions | |
| static uint32_t | AllocateRouterId () |
| Allocate a 32-bit router ID from monotonically increasing counter. | |
| static void | DeleteGlobalRoutes () |
| Delete all static routes on all nodes that have a GlobalRouterInterface. | |
| static void | BuildGlobalRoutingDatabase () |
| Build the routing database by gathering Link State Advertisements from each node exporting a GlobalRouter interface. | |
| static void | InitializeRoutes () |
| Compute routes using a Dijkstra SPF computation and populate per-node forwarding tables. | |
A global global router.
This singleton object can query interface each node in the system for a GlobalRouter interface. For those nodes, it fetches one or more Link State Advertisements and stores them in a local database. Then, it can compute shortest paths on a per-node basis to all routers, and finally configure each of the node's forwarding tables.
The design is guided by OSPFv2 RFC 2328 section 16.1.1 and quagga ospfd.
1.6.1