A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
global-route-manager.cc
Go to the documentation of this file.
1/*
2 * Copyright 2007 University of Washington
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Tom Henderson (tomhend@u.washington.edu)
7 */
8
10
12
13#include "ns3/assert.h"
14#include "ns3/log.h"
15#include "ns3/simulation-singleton.h"
16
17namespace ns3
18{
19
20NS_LOG_COMPONENT_DEFINE("GlobalRouteManager");
21
22// ---------------------------------------------------------------------------
23//
24// GlobalRouteManager Implementation
25//
26// ---------------------------------------------------------------------------
27
28void
34
35void
41
42void
48
51{
53 static uint32_t routerId = 0;
54 return routerId++;
55}
56
57} // namespace ns3
static void DeleteGlobalRoutes()
Delete all static routes on all nodes that have a GlobalRouterInterface.
static uint32_t AllocateRouterId()
Allocate a 32-bit router ID from monotonically increasing counter.
static void InitializeRoutes()
Compute routes using a Dijkstra SPF computation and populate per-node forwarding tables.
static void BuildGlobalRoutingDatabase()
Build the routing database by gathering Link State Advertisements from each node exporting a GlobalRo...
static T * Get()
Get a pointer to the singleton instance.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition log.h:191
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
Every class exported by the ns3 library is enclosed in the ns3 namespace.