The Link State DataBase (LSDB) of the Global Route Manager. More...
#include <global-route-manager-impl.h>
Public Member Functions | |
GlobalRouteManagerLSDB () | |
Construct an empty Global Router Manager Link State Database. | |
~GlobalRouteManagerLSDB () | |
Destroy an empty Global Router Manager Link State Database. | |
void | Insert (Ipv4Address addr, GlobalRoutingLSA *lsa) |
Insert an IP address / Link State Advertisement pair into the Link State Database. | |
GlobalRoutingLSA * | GetLSA (Ipv4Address addr) const |
Look up the Link State Advertisement associated with the given link state ID (address). | |
GlobalRoutingLSA * | GetLSAByLinkData (Ipv4Address addr) const |
Look up the Link State Advertisement associated with the given link state ID (address). This is a variation of the GetLSA call to allow the LSA to be found by matching addr with the LinkData field of the TransitNetwork link record. | |
void | Initialize () |
Set all LSA flags to an initialized state, for SPF computation. | |
GlobalRoutingLSA * | GetExtLSA (uint32_t index) const |
uint32_t | GetNumExtLSAs () const |
The Link State DataBase (LSDB) of the Global Route Manager.
Each node in the simulation participating in global routing has a GlobalRouter interface. The primary job of this interface is to export Global Router Link State Advertisements (LSAs). These advertisements in turn contain a number of Global Router Link Records that describe the point to point links from the underlying node to other nodes (that will also export their own LSAs.
This class implements a searchable database of LSAs gathered from every router in the simulation.