Helper class that adds ns3::Ipv4GlobalRouting objects. More...
#include "ipv4-global-routing-helper.h"
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). | |
Ipv4GlobalRoutingHelper * | Copy () const override |
Ptr< Ipv4RoutingProtocol > | Create (Ptr< Node > node) const override |
Ipv4GlobalRoutingHelper & | operator= (const Ipv4GlobalRoutingHelper &)=delete |
Public Member Functions inherited from ns3::Ipv4RoutingHelper | |
virtual | ~Ipv4RoutingHelper () |
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. | |
Helper class that adds ns3::Ipv4GlobalRouting objects.
Definition at line 23 of file ipv4-global-routing-helper.h.
ns3::Ipv4GlobalRoutingHelper::Ipv4GlobalRoutingHelper | ( | ) |
Construct a GlobalRoutingHelper to make life easier for managing global routing tasks.
Definition at line 20 of file ipv4-global-routing-helper.cc.
Referenced by Copy().
ns3::Ipv4GlobalRoutingHelper::Ipv4GlobalRoutingHelper | ( | const Ipv4GlobalRoutingHelper & | o | ) |
Construct a GlobalRoutingHelper from another previously initialized instance (Copy Constructor).
o | object to be copied |
Definition at line 24 of file ipv4-global-routing-helper.cc.
|
overridevirtual |
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 29 of file ipv4-global-routing-helper.cc.
References Ipv4GlobalRoutingHelper().
|
overridevirtual |
node | the node on which the routing protocol will run |
This method will be called by ns3::InternetStackHelper::Install
Implements ns3::Ipv4RoutingHelper.
Definition at line 35 of file ipv4-global-routing-helper.cc.
References ns3::CreateObject(), and NS_LOG_LOGIC.
|
delete |
|
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 50 of file ipv4-global-routing-helper.cc.
References ns3::GlobalRouteManager::BuildGlobalRoutingDatabase(), and ns3::GlobalRouteManager::InitializeRoutes().
Referenced by BridgeTest::DoRun(), BriteTopologyFunctionTestCase::DoRun(), CsmaStarTestCase::DoRun(), IcmpTimeExceedTestCase::DoRun(), Ipv4DynamicGlobalRoutingTestCase::DoRun(), Ipv4GlobalRoutingSlash32TestCase::DoRun(), LanTest::DoRun(), LinkTest::DoRun(), Ns3TcpCubicTestCase::DoRun(), Ns3TcpLossTestCase::DoRun(), Ns3TcpStateTestCase::DoRun(), TwoBridgeTest::DoRun(), TwoLanTest::DoRun(), TwoLinkTest::DoRun(), and experiment().
|
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 57 of file ipv4-global-routing-helper.cc.
References ns3::GlobalRouteManager::BuildGlobalRoutingDatabase(), ns3::GlobalRouteManager::DeleteGlobalRoutes(), and ns3::GlobalRouteManager::InitializeRoutes().