A Discrete-Event Network Simulator
API
HwmpReactiveRegressionTest Class Reference

test for multihop path establishing and path error procedures Initiate scenario with 6 stations. More...

#include <hwmp-reactive-regression.h>

+ Inheritance diagram for HwmpReactiveRegressionTest:
+ Collaboration diagram for HwmpReactiveRegressionTest:

Public Member Functions

 HwmpReactiveRegressionTest ()
 
virtual ~HwmpReactiveRegressionTest ()
 
void CheckResults ()
 
virtual void DoRun ()
 Implementation to actually run this TestCase. More...
 
- Public Member Functions inherited from ns3::TestCase
virtual ~TestCase ()
 Destructor. More...
 
std::string GetName (void) const
 

Private Member Functions

void CreateDevices ()
 
void CreateNodes ()
 
void InstallApplications ()
 
void ResetPosition ()
 

Private Attributes

Ipv4InterfaceContainer m_interfaces
 
NodeContainerm_nodes
 
Time m_time
 Simulation time. More...
 

Additional Inherited Members

- Public Types inherited from ns3::TestCase
enum  TestDuration { QUICK = 1, EXTENSIVE = 2, TAKES_FOREVER = 3 }
 How long the test takes to execute. More...
 
- Protected Member Functions inherited from ns3::TestCase
 TestCase (std::string name)
 
void AddTestCase (TestCase *testCase, enum TestDuration duration)
 Add an individual child TestCase to this test suite. More...
 
TestCaseGetParent () const
 
bool IsStatusFailure (void) const
 
bool IsStatusSuccess (void) const
 
void SetDataDir (std::string directory)
 
void ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line)
 Log the failure of this TestCase. More...
 
bool MustAssertOnFailure (void) const
 
bool MustContinueOnFailure (void) const
 
std::string CreateDataDirFilename (std::string filename)
 
std::string CreateTempDirFilename (std::string filename)
 

Detailed Description

test for multihop path establishing and path error procedures Initiate scenario with 6 stations.

Procedure of opening peer link is the following: (PMP routines are not shown)

*      1    2    3    4    5    6
*      |    |    |    |    |<---|--->  ARP request (first attempt has failed!)
*      |....|....|....|....|....|      ARP request
*      |<---|--->|    |    |    |      ARP request
*  <---|--->|    |    |    |    |      PREQ       } This order is broken
*  <---|--->|    |    |    |    |      ARP request} due to BroadcastDca 
*      |<---|--->|    |    |    |      PREQ
*      |....|....|....|....|....|      ARP request
*      |    |    |    |<---|--->|      PREQ
*      |    |    |    |    |<---|      PREP
*      |....|....|....|....|....|      PREP 
*      |<---|    |    |    |    |      PREP
*      |--->|    |    |    |    |      ARP response
*      |....|....|....|....|....|      ARP response
*      |    |    |    |    |--->|      ARP response
*      |    |    |    |    |<---|      Data
*      |....|....|....|....|....|      Data
*      |<---|    |    |    |    |      Data
*  <---|--->|    |    |    |    |      ARP request
*      |....|....|....|....|....|      ARP request
*      |    |    |    |    |<---|--->  ARP request
*      |    |    |    |    |<---|      ARP response
*      |....|....|....|....|....|      ARP response
*      |<---|    |    |    |    |      ARP response
*      |--->|    |    |    |    |      Data
* At 5 station number 4 disappears, and PERR is forwarded from 3 to 1
* and from 5 to 6, and station 6 starts path discovery procedure
* again:
*      |    |<---|         |--->|      PERR (one due to beacon loss and one due to TX error)
*      |<---|    |         |    |      PERR
*      |    |    |         |<---|--->  PREQ
*      |    |    |     <---|--->|      PREQ
*      |....|....|.........|....|      Repeated attempts of PREQ
* 

Definition at line 71 of file hwmp-reactive-regression.h.

Constructor & Destructor Documentation

HwmpReactiveRegressionTest::HwmpReactiveRegressionTest ( )

Definition at line 43 of file hwmp-reactive-regression.cc.

HwmpReactiveRegressionTest::~HwmpReactiveRegressionTest ( )
virtual

Definition at line 48 of file hwmp-reactive-regression.cc.

References m_nodes.

Member Function Documentation

void HwmpReactiveRegressionTest::CheckResults ( )

Definition at line 137 of file hwmp-reactive-regression.cc.

References NS_PCAP_TEST_EXPECT_EQ, and PREFIX.

Referenced by DoRun().

+ Here is the caller graph for this function:

void HwmpReactiveRegressionTest::CreateNodes ( )
private

Definition at line 69 of file hwmp-reactive-regression.cc.

References ns3::ListPositionAllocator::Add(), ns3::NodeContainer::Create(), ns3::MobilityHelper::Install(), m_nodes, ResetPosition(), ns3::Seconds(), ns3::MobilityHelper::SetMobilityModel(), and ns3::MobilityHelper::SetPositionAllocator().

Referenced by DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HwmpReactiveRegressionTest::DoRun ( )
virtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 53 of file hwmp-reactive-regression.cc.

References CheckResults(), CreateDevices(), CreateNodes(), InstallApplications(), m_nodes, and m_time.

+ Here is the call graph for this function:

void HwmpReactiveRegressionTest::InstallApplications ( )
private
void HwmpReactiveRegressionTest::ResetPosition ( )
private

Definition at line 146 of file hwmp-reactive-regression.cc.

References ns3::NodeContainer::Get(), ns3::Object::GetObject(), m_nodes, and ns3::MobilityModel::SetPosition().

Referenced by CreateNodes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

Ipv4InterfaceContainer HwmpReactiveRegressionTest::m_interfaces
private

Definition at line 84 of file hwmp-reactive-regression.h.

Referenced by CreateDevices(), and InstallApplications().

NodeContainer* HwmpReactiveRegressionTest::m_nodes
private
Internal: It is important to have pointers here

Definition at line 81 of file hwmp-reactive-regression.h.

Referenced by CreateDevices(), CreateNodes(), DoRun(), InstallApplications(), ResetPosition(), and ~HwmpReactiveRegressionTest().

Time HwmpReactiveRegressionTest::m_time
private

Simulation time.

Definition at line 83 of file hwmp-reactive-regression.h.

Referenced by DoRun(), and InstallApplications().


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