Static Public Member Functions | Private Member Functions | Static Private Member Functions

ns3::GlobalRouteManager Class Reference

A global global router. More...

#include <global-route-manager.h>

List of all members.

Static Public Member Functions

static void PopulateRoutingTables ()
 Build a routing database and initialize the routing tables of the nodes in the simulation.
static uint32_t AllocateRouterId ()
 Allocate a 32-bit router ID from monotonically increasing counter.

Private Member Functions

 GlobalRouteManager (GlobalRouteManager &srm)
 Global Route Manager copy construction is disallowed. There's no need for it and a compiler provided shallow copy would be wrong.
GlobalRouteManageroperator= (GlobalRouteManager &srm)
 Global Router copy assignment operator is disallowed. There's no need for it and a compiler provided shallow copy would be wrong.

Static Private Member Functions

static void SelectRouterNodes ()
 Select which nodes in the system are to be router nodes and aggregate the appropriate interfaces onto those nodes.
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.

Detailed Description

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.


Member Function Documentation

static void ns3::GlobalRouteManager::PopulateRoutingTables (  )  [static]

Build a routing database and initialize the routing tables of the nodes in the simulation.

All this function does is call BuildGlobalRoutingDatabase () and InitializeRoutes ().

See also:
BuildGlobalRoutingDatabase ();
InitializeRoutes ();

The documentation for this class was generated from the following file: