IPv4 Dynamic GlobalRouting test. More...
Public Member Functions | |
Ipv4DynamicGlobalRoutingTestCase () | |
~Ipv4DynamicGlobalRoutingTestCase () override | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. More... | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Private Member Functions | |
void | DoRun () override |
Implementation to actually run this TestCase. More... | |
void | HandleRead (Ptr< Socket > socket) |
Handle an incoming packet. More... | |
void | SendData (uint8_t index) |
Send some data. More... | |
void | ShutDownSock (uint8_t index) |
Shutdown a socket. More... | |
Private Attributes | |
uint16_t | m_count |
Number of packets received. More... | |
DataRate | m_dataRate |
Data rate. More... | |
std::vector< uint8_t > | m_firstInterface |
Packets received on the 1st interface at a given time. More... | |
uint16_t | m_packetSize |
Packet size. More... | |
std::vector< uint8_t > | m_secondInterface |
Packets received on the 2nd interface at a given time. More... | |
std::vector< std::pair< Ptr< Socket >, bool > > | m_sendSocks |
Sending sockets. 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) | |
Constructor. More... | |
void | AddTestCase (TestCase *testCase, TestDuration duration=QUICK) |
Add an individual child TestCase to this test suite. More... | |
TestCase * | GetParent () const |
Get the parent of this TestCase. More... | |
bool | IsStatusFailure () const |
Check if any tests failed. More... | |
bool | IsStatusSuccess () const |
Check if all tests passed. More... | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. More... | |
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 () const |
Check if this run should assert on failure. More... | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. More... | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. More... | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. More... | |
IPv4 Dynamic GlobalRouting test.
Definition at line 848 of file ipv4-global-routing-test-suite.cc.
Ipv4DynamicGlobalRoutingTestCase::Ipv4DynamicGlobalRoutingTestCase | ( | ) |
Definition at line 885 of file ipv4-global-routing-test-suite.cc.
References m_dataRate, m_firstInterface, m_packetSize, and m_secondInterface.
|
override |
Definition at line 895 of file ipv4-global-routing-test-suite.cc.
References m_sendSocks.
|
overrideprivatevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 980 of file ipv4-global-routing-test-suite.cc.
References ns3::Socket::Bind(), ns3::NodeContainer::Create(), ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Object::GetObject(), HandleRead(), ns3::SimpleNetDeviceHelper::Install(), nsclick-simple-lan::internet, nsclick-simple-lan::ipv4, ns3::Socket::Listen(), m_count, m_firstInterface, m_secondInterface, m_sendSocks, ns3::MakeCallback(), n0n2, n1n2, NS_TEST_ASSERT_MSG_EQ, port, ns3::Seconds(), SendData(), ns3::Config::SetDefault(), ns3::SimpleNetDeviceHelper::SetNetDevicePointToPointMode(), ns3::Socket::SetRecvCallback(), ns3::Socket::SetRecvPktInfo(), SetUp(), ns3::Socket::ShutdownSend(), and ShutDownSock().
Handle an incoming packet.
socket | The input socket. |
Definition at line 909 of file ipv4-global-routing-test-suite.cc.
References ns3::Ipv4PacketInfoTag::GetRecvIf(), ns3::Time::GetSeconds(), ns3::Packet::GetSize(), m_count, m_firstInterface, m_secondInterface, ns3::Now(), ns3::Packet::PeekPacketTag(), and ns3::Socket::RecvFrom().
Referenced by DoRun().
|
private |
Send some data.
index | Index of the socket to use. |
Definition at line 939 of file ipv4-global-routing-test-suite.cc.
References ns3::DataRate::GetBitRate(), m_dataRate, m_packetSize, m_sendSocks, and ns3::MicroSeconds().
Referenced by DoRun().
|
private |
Shutdown a socket.
index | Index of the socket to close. |
Definition at line 953 of file ipv4-global-routing-test-suite.cc.
References m_sendSocks.
Referenced by DoRun().
|
private |
Number of packets received.
Definition at line 874 of file ipv4-global-routing-test-suite.cc.
Referenced by DoRun(), and HandleRead().
|
private |
Data rate.
Definition at line 876 of file ipv4-global-routing-test-suite.cc.
Referenced by Ipv4DynamicGlobalRoutingTestCase(), and SendData().
|
private |
Packets received on the 1st interface at a given time.
Definition at line 879 of file ipv4-global-routing-test-suite.cc.
Referenced by Ipv4DynamicGlobalRoutingTestCase(), DoRun(), and HandleRead().
|
private |
Packet size.
Definition at line 877 of file ipv4-global-routing-test-suite.cc.
Referenced by Ipv4DynamicGlobalRoutingTestCase(), and SendData().
|
private |
Packets received on the 2nd interface at a given time.
Definition at line 881 of file ipv4-global-routing-test-suite.cc.
Referenced by Ipv4DynamicGlobalRoutingTestCase(), DoRun(), and HandleRead().
Sending sockets.
Definition at line 875 of file ipv4-global-routing-test-suite.cc.
Referenced by ~Ipv4DynamicGlobalRoutingTestCase(), DoRun(), SendData(), and ShutDownSock().