A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::Ipv4GlobalRoutingHelper Class Reference

Helper class that adds ns3::Ipv4GlobalRouting objects. More...

#include "ipv4-global-routing-helper.h"

+ Inheritance diagram for ns3::Ipv4GlobalRoutingHelper:
+ Collaboration diagram for ns3::Ipv4GlobalRoutingHelper:

Public Member Functions

 Ipv4GlobalRoutingHelper ()
 Construct a GlobalRoutingHelper to make life easier for managing global routing tasks.
 
 Ipv4GlobalRoutingHelper (const Ipv4GlobalRoutingHelper &o)
 Construct a GlobalRoutingHelper from another previously initialized instance (Copy Constructor).
 
Ipv4GlobalRoutingHelperCopy () const override
 
Ptr< Ipv4RoutingProtocolCreate (Ptr< Node > node) const override
 
Ipv4GlobalRoutingHelperoperator= (const Ipv4GlobalRoutingHelper &)=delete
 
- Public Member Functions inherited from ns3::Ipv4RoutingHelper
virtual ~Ipv4RoutingHelper ()
 
virtual Ipv4RoutingHelperCopy () const =0
 virtual constructor
 
virtual Ptr< Ipv4RoutingProtocolCreate (Ptr< Node > node) const =0
 

Static Public Member Functions

static void PopulateRoutingTables ()
 Build a routing database and initialize the routing tables of the nodes in the simulation.
 
static void RecomputeRoutingTables ()
 Remove all routes that were previously installed in a prior call to either PopulateRoutingTables() or RecomputeRoutingTables(), and add a new set of routes.
 
- Static Public Member Functions inherited from ns3::Ipv4RoutingHelper
template<class T >
static Ptr< T > GetRouting (Ptr< Ipv4RoutingProtocol > protocol)
 Request a specified routing protocol <T> from Ipv4RoutingProtocol protocol.
 
static void PrintNeighborCacheAllAt (Time printTime, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of all nodes at a particular time.
 
static void PrintNeighborCacheAllEvery (Time printInterval, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of all nodes at regular intervals specified by user.
 
static void PrintNeighborCacheAt (Time printTime, Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of a node at a particular time.
 
static void PrintNeighborCacheEvery (Time printInterval, Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of a node at regular intervals specified by user.
 
static void PrintRoutingTableAllAt (Time printTime, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of all nodes at a particular time.
 
static void PrintRoutingTableAllEvery (Time printInterval, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of all nodes at regular intervals specified by user.
 
static void PrintRoutingTableAt (Time printTime, Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of a node at a particular time.
 
static void PrintRoutingTableEvery (Time printInterval, Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of a node at regular intervals specified by user.
 

Detailed Description

Helper class that adds ns3::Ipv4GlobalRouting objects.

Definition at line 33 of file ipv4-global-routing-helper.h.

Constructor & Destructor Documentation

◆ Ipv4GlobalRoutingHelper() [1/2]

ns3::Ipv4GlobalRoutingHelper::Ipv4GlobalRoutingHelper ( )

Construct a GlobalRoutingHelper to make life easier for managing global routing tasks.

Definition at line 31 of file ipv4-global-routing-helper.cc.

Referenced by Copy().

+ Here is the caller graph for this function:

◆ Ipv4GlobalRoutingHelper() [2/2]

ns3::Ipv4GlobalRoutingHelper::Ipv4GlobalRoutingHelper ( const Ipv4GlobalRoutingHelper o)

Construct a GlobalRoutingHelper from another previously initialized instance (Copy Constructor).

Parameters
oobject to be copied

Definition at line 35 of file ipv4-global-routing-helper.cc.

Member Function Documentation

◆ Copy()

Ipv4GlobalRoutingHelper * ns3::Ipv4GlobalRoutingHelper::Copy ( ) const
overridevirtual
Returns
pointer to clone of this Ipv4GlobalRoutingHelper

This method is mainly for internal use by the other helpers; clients are expected to free the dynamic memory allocated by this method

Implements ns3::Ipv4RoutingHelper.

Definition at line 40 of file ipv4-global-routing-helper.cc.

References Ipv4GlobalRoutingHelper().

+ Here is the call graph for this function:

◆ Create()

Ptr< Ipv4RoutingProtocol > ns3::Ipv4GlobalRoutingHelper::Create ( Ptr< Node node) const
overridevirtual
Parameters
nodethe node on which the routing protocol will run
Returns
a newly-created routing protocol

This method will be called by ns3::InternetStackHelper::Install

Implements ns3::Ipv4RoutingHelper.

Definition at line 46 of file ipv4-global-routing-helper.cc.

References NS_LOG_LOGIC.

◆ operator=()

Ipv4GlobalRoutingHelper & ns3::Ipv4GlobalRoutingHelper::operator= ( const Ipv4GlobalRoutingHelper )
delete

◆ PopulateRoutingTables()

void ns3::Ipv4GlobalRoutingHelper::PopulateRoutingTables ( )
static

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

Makes all nodes in the simulation into routers.

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

Definition at line 61 of file ipv4-global-routing-helper.cc.

References ns3::GlobalRouteManager::BuildGlobalRoutingDatabase(), and ns3::GlobalRouteManager::InitializeRoutes().

Referenced by BriteTopologyFunctionTestCase::DoRun(), IcmpTimeExceedTestCase::DoRun(), LinkTest::DoRun(), LanTest::DoRun(), TwoLinkTest::DoRun(), TwoLanTest::DoRun(), BridgeTest::DoRun(), TwoBridgeTest::DoRun(), Ipv4DynamicGlobalRoutingTestCase::DoRun(), Ipv4GlobalRoutingSlash32TestCase::DoRun(), CsmaStarTestCase::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), and experiment().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RecomputeRoutingTables()

void ns3::Ipv4GlobalRoutingHelper::RecomputeRoutingTables ( )
static

Remove all routes that were previously installed in a prior call to either PopulateRoutingTables() or RecomputeRoutingTables(), and add a new set of routes.

This method does not change the set of nodes over which GlobalRouting is being used, but it will dynamically update its representation of the global topology before recomputing routes. Users must first call PopulateRoutingTables() and then may subsequently call RecomputeRoutingTables() at any later time in the simulation.

Definition at line 68 of file ipv4-global-routing-helper.cc.

References ns3::GlobalRouteManager::BuildGlobalRoutingDatabase(), ns3::GlobalRouteManager::DeleteGlobalRoutes(), and ns3::GlobalRouteManager::InitializeRoutes().

+ Here is the call graph for this function:

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