Test script. More...
Public Member Functions | |
AodvExample () | |
bool | Configure (int argc, char **argv) |
Configure script parameters. | |
void | Report (std::ostream &os) |
Report results. | |
void | Run () |
Run simulation. | |
Private Member Functions | |
void | CreateDevices () |
Create the devices. | |
void | CreateNodes () |
Create the nodes. | |
void | InstallApplications () |
Create the simulation applications. | |
void | InstallInternetStack () |
Create the network. | |
Private Attributes | |
NetDeviceContainer | devices |
devices used in the example | |
Ipv4InterfaceContainer | interfaces |
interfaces used in the example | |
NodeContainer | nodes |
nodes used in the example | |
bool | pcap |
Write per-device PCAP traces if true. | |
bool | printRoutes |
Print routes if true. | |
uint32_t | size |
Number of nodes. | |
double | step |
Distance between nodes, meters. | |
double | totalTime |
Simulation time, seconds. | |
Test script.
This script creates 1-dimensional grid topology and then ping 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]
ping 10.0.0.4
When 1/3 of simulation time has elapsed, one of the nodes is moved out of range, thereby breaking the topology. By default, this will result in stopping ping replies reception after sequence number 33. If the step size is reduced to cover the gap, then also the following pings can be received.
Definition at line 47 of file aodv-example.cc.
AodvExample::AodvExample | ( | ) |
Definition at line 113 of file aodv-example.cc.
bool AodvExample::Configure | ( | int | argc, |
char ** | argv ) |
Configure script parameters.
argc | is the command line argument count |
argv | is the command line arguments |
Definition at line 123 of file aodv-example.cc.
References pcap, printRoutes, ns3::RngSeedManager::SetSeed(), size, step, and totalTime.
|
private |
Create the devices.
Definition at line 195 of file aodv-example.cc.
References ns3::YansWifiChannelHelper::Create(), ns3::YansWifiChannelHelper::Default(), devices, ns3::PcapHelperForDevice::EnablePcapAll(), nodes, pcap, ns3::YansWifiPhyHelper::SetChannel(), and ns3::WifiMacHelper::SetType().
Referenced by Run().
|
private |
Create the nodes.
Definition at line 164 of file aodv-example.cc.
References ns3::Names::Add(), ns3::NodeContainer::Create(), ns3::NodeContainer::Get(), nodes, size, and step.
Referenced by Run().
|
private |
Create the simulation applications.
Definition at line 237 of file aodv-example.cc.
References ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::ApplicationHelper::Install(), interfaces, nodes, ns3::Simulator::Schedule(), ns3::Seconds(), ns3::ApplicationHelper::SetAttribute(), ns3::MobilityModel::SetPosition(), size, ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), and totalTime.
Referenced by Run().
|
private |
Create the network.
Definition at line 217 of file aodv-example.cc.
References ns3::Create(), devices, interfaces, nodes, printRoutes, ns3::Ipv4RoutingHelper::PrintRoutingTableAllAt(), and ns3::Seconds().
Referenced by Run().
void AodvExample::Report | ( | std::ostream & | os | ) |
void AodvExample::Run | ( | ) |
Run simulation.
Definition at line 142 of file aodv-example.cc.
References CreateDevices(), CreateNodes(), ns3::Simulator::Destroy(), InstallApplications(), InstallInternetStack(), ns3::Simulator::Run(), ns3::Seconds(), ns3::Simulator::Stop(), and totalTime.
|
private |
devices used in the example
Definition at line 83 of file aodv-example.cc.
Referenced by CreateDevices(), and InstallInternetStack().
|
private |
interfaces used in the example
Definition at line 85 of file aodv-example.cc.
Referenced by InstallApplications(), and InstallInternetStack().
|
private |
nodes used in the example
Definition at line 81 of file aodv-example.cc.
Referenced by CreateDevices(), CreateNodes(), InstallApplications(), and InstallInternetStack().
|
private |
Write per-device PCAP traces if true.
Definition at line 75 of file aodv-example.cc.
Referenced by Configure(), and CreateDevices().
|
private |
Print routes if true.
Definition at line 77 of file aodv-example.cc.
Referenced by Configure(), and InstallInternetStack().
|
private |
Number of nodes.
Definition at line 69 of file aodv-example.cc.
Referenced by Configure(), CreateNodes(), and InstallApplications().
|
private |
Distance between nodes, meters.
Definition at line 71 of file aodv-example.cc.
Referenced by Configure(), and CreateNodes().
|
private |
Simulation time, seconds.
Definition at line 73 of file aodv-example.cc.
Referenced by Configure(), InstallApplications(), and Run().