A Discrete-Event Network Simulator
API
TracerouteExample Class Reference

Test script. More...

+ Collaboration diagram for TracerouteExample:

Public Member Functions

 TracerouteExample ()
 
bool Configure (int argc, char **argv)
 Configure script parameters. More...
 
void Report (std::ostream &os)
 Report results. More...
 
void Run ()
 Run simulation. More...
 

Private Member Functions

void CreateDevices ()
 Create the devices. More...
 
void CreateNodes ()
 Create the nodes. More...
 
void InstallApplications ()
 Create the simulation applications. More...
 
void InstallInternetStack ()
 Create the network. More...
 

Private Attributes

NetDeviceContainer devices
 devices used in the example More...
 
Ipv4InterfaceContainer interfaces
 interfaces used in the example More...
 
NodeContainer nodes
 nodes used in the example More...
 
bool pcap
 Write per-device PCAP traces if true. More...
 
bool printRoutes
 Print aodv routes if true. More...
 
uint32_t size
 Number of nodes. More...
 
double step
 Distance between nodes, meters. More...
 
double totalTime
 Simulation time, seconds. More...
 

Detailed Description

Test script.

This script creates 1-dimensional grid topology and Traceroute the last node from the first one:

[10.0.0.1] <– step --> [10.0.0.2] <– step --> [10.0.0.3] <– step --> [10.0.0.4]

The results should be all the intermediate hops all the way to 10.0.0.10

Usage:

traceroute 10.0.0.10

Definition at line 54 of file traceroute-example.cc.

Constructor & Destructor Documentation

◆ TracerouteExample()

TracerouteExample::TracerouteExample ( )

Definition at line 118 of file traceroute-example.cc.

Member Function Documentation

◆ Configure()

bool TracerouteExample::Configure ( int  argc,
char **  argv 
)

Configure script parameters.

Parameters
argcis the command line argument count
argvis the command line arguments
Returns
true on successful configuration

Definition at line 128 of file traceroute-example.cc.

References second::cmd, pcap, printRoutes, size, step, and totalTime.

◆ CreateDevices()

void TracerouteExample::CreateDevices ( )
private

Create the devices.

Definition at line 195 of file traceroute-example.cc.

References ns3::YansWifiChannelHelper::Create(), devices, ns3::PcapHelperForDevice::EnablePcapAll(), nodes, pcap, ns3::YansWifiPhyHelper::SetChannel(), ns3::WifiMacHelper::SetType(), and third::wifi.

Referenced by Run().

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

◆ CreateNodes()

void TracerouteExample::CreateNodes ( )
private

Create the nodes.

Definition at line 170 of file traceroute-example.cc.

References ns3::NodeContainer::Create(), ns3::NodeContainer::Get(), third::mobility, nodes, size, and step.

Referenced by Run().

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

◆ InstallApplications()

void TracerouteExample::InstallApplications ( )
private

Create the simulation applications.

Definition at line 233 of file traceroute-example.cc.

References ns3::NodeContainer::Get(), ns3::V4TraceRouteHelper::Install(), nodes, ns3::Seconds(), ns3::V4TraceRouteHelper::SetAttribute(), ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), and totalTime.

Referenced by Run().

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

◆ InstallInternetStack()

void TracerouteExample::InstallInternetStack ( )
private

Create the network.

Definition at line 213 of file traceroute-example.cc.

References first::address, devices, interfaces, nodes, printRoutes, ns3::Ipv4RoutingHelper::PrintRoutingTableAllAt(), ns3::Seconds(), and first::stack.

Referenced by Run().

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

◆ Report()

void TracerouteExample::Report ( std::ostream &  os)

Report results.

Parameters
osthe output stream

Definition at line 165 of file traceroute-example.cc.

◆ Run()

void TracerouteExample::Run ( void  )

Run simulation.

Definition at line 147 of file traceroute-example.cc.

References CreateDevices(), CreateNodes(), InstallApplications(), InstallInternetStack(), ns3::Seconds(), and totalTime.

+ Here is the call graph for this function:

Member Data Documentation

◆ devices

NetDeviceContainer TracerouteExample::devices
private

devices used in the example

Definition at line 88 of file traceroute-example.cc.

Referenced by CreateDevices(), and InstallInternetStack().

◆ interfaces

Ipv4InterfaceContainer TracerouteExample::interfaces
private

interfaces used in the example

Definition at line 90 of file traceroute-example.cc.

Referenced by InstallInternetStack().

◆ nodes

NodeContainer TracerouteExample::nodes
private

nodes used in the example

Definition at line 86 of file traceroute-example.cc.

Referenced by CreateDevices(), CreateNodes(), InstallApplications(), and InstallInternetStack().

◆ pcap

bool TracerouteExample::pcap
private

Write per-device PCAP traces if true.

Definition at line 82 of file traceroute-example.cc.

Referenced by Configure(), and CreateDevices().

◆ printRoutes

bool TracerouteExample::printRoutes
private

Print aodv routes if true.

Definition at line 84 of file traceroute-example.cc.

Referenced by Configure(), and InstallInternetStack().

◆ size

uint32_t TracerouteExample::size
private

Number of nodes.

Definition at line 76 of file traceroute-example.cc.

Referenced by Configure(), and CreateNodes().

◆ step

double TracerouteExample::step
private

Distance between nodes, meters.

Definition at line 78 of file traceroute-example.cc.

Referenced by Configure(), and CreateNodes().

◆ totalTime

double TracerouteExample::totalTime
private

Simulation time, seconds.

Definition at line 80 of file traceroute-example.cc.

Referenced by Configure(), InstallApplications(), and Run().


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