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. | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Private Member Functions | |
void | DoRun () override |
Implementation to actually run this TestCase. | |
void | HandleRead (Ptr< Socket > socket) |
Handle an incoming packet. | |
void | SendData (uint8_t index) |
Send some data. | |
void | ShutDownSock (uint8_t index) |
Shutdown a socket. | |
Private Attributes | |
uint16_t | m_count |
Number of packets received. | |
DataRate | m_dataRate |
Data rate. | |
std::vector< uint8_t > | m_firstInterface |
Packets received on the 1st interface at a given time. | |
uint16_t | m_packetSize |
Packet size. | |
std::vector< uint8_t > | m_secondInterface |
Packets received on the 2nd interface at a given time. | |
std::vector< std::pair< Ptr< Socket >, bool > > | m_sendSocks |
Sending sockets. | |
Additional Inherited Members | |
Public Types inherited from ns3::TestCase | |
enum class | Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
Static Public Attributes inherited from ns3::TestCase | |
static constexpr auto | QUICK = Duration::QUICK |
Deprecated test duration simple enums. | |
static constexpr auto | EXTENSIVE = Duration::EXTENSIVE |
static constexpr auto | TAKES_FOREVER = Duration::TAKES_FOREVER |
Protected Member Functions inherited from ns3::TestCase | |
TestCase (std::string name) | |
Constructor. | |
void | AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK) |
Add an individual child TestCase to this test suite. | |
TestCase * | GetParent () const |
Get the parent of this TestCase. | |
bool | IsStatusFailure () const |
Check if any tests failed. | |
bool | IsStatusSuccess () const |
Check if all tests passed. | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. | |
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. | |
bool | MustAssertOnFailure () const |
Check if this run should assert on failure. | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. | |
IPv4 Dynamic GlobalRouting test.
Definition at line 837 of file ipv4-global-routing-test-suite.cc.
Ipv4DynamicGlobalRoutingTestCase::Ipv4DynamicGlobalRoutingTestCase | ( | ) |
Definition at line 874 of file ipv4-global-routing-test-suite.cc.
References m_dataRate, m_firstInterface, m_packetSize, and m_secondInterface.
|
override |
Definition at line 884 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 969 of file ipv4-global-routing-test-suite.cc.
References ns3::NodeContainer::Create(), ns3::Socket::CreateSocket(), ns3::Simulator::Destroy(), ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Ipv4Address::GetAny(), HandleRead(), ns3::SimpleNetDeviceHelper::Install(), ns3::TypeId::LookupByName(), m_count, m_firstInterface, m_secondInterface, m_sendSocks, ns3::MakeCallback(), n0n2, n1n2, NS_TEST_ASSERT_MSG_EQ, ns3::Ipv4GlobalRoutingHelper::PopulateRoutingTables(), port, ns3::Simulator::Run(), ns3::Simulator::Schedule(), ns3::Seconds(), SendData(), ns3::Config::SetDefault(), ns3::Ipv4::SetDown(), ns3::SimpleNetDeviceHelper::SetNetDevicePointToPointMode(), ns3::Ipv4::SetUp(), and ShutDownSock().
Handle an incoming packet.
socket | The input socket. |
Definition at line 898 of file ipv4-global-routing-test-suite.cc.
References ns3::Ipv4PacketInfoTag::GetRecvIf(), ns3::Time::GetSeconds(), m_count, m_firstInterface, m_secondInterface, and ns3::Simulator::Now().
Referenced by DoRun().
|
private |
Send some data.
index | Index of the socket to use. |
Definition at line 928 of file ipv4-global-routing-test-suite.cc.
References ns3::Create(), ns3::DataRate::GetBitRate(), m_dataRate, m_packetSize, m_sendSocks, ns3::MicroSeconds(), ns3::Simulator::Schedule(), and SendData().
Referenced by DoRun(), and SendData().
|
private |
Shutdown a socket.
index | Index of the socket to close. |
Definition at line 942 of file ipv4-global-routing-test-suite.cc.
References m_sendSocks.
Referenced by DoRun().
|
private |
Number of packets received.
Definition at line 863 of file ipv4-global-routing-test-suite.cc.
Referenced by DoRun(), and HandleRead().
|
private |
Data rate.
Definition at line 865 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 868 of file ipv4-global-routing-test-suite.cc.
Referenced by Ipv4DynamicGlobalRoutingTestCase(), DoRun(), and HandleRead().
|
private |
Packet size.
Definition at line 866 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 870 of file ipv4-global-routing-test-suite.cc.
Referenced by Ipv4DynamicGlobalRoutingTestCase(), DoRun(), and HandleRead().
Sending sockets.
Definition at line 864 of file ipv4-global-routing-test-suite.cc.
Referenced by ~Ipv4DynamicGlobalRoutingTestCase(), DoRun(), SendData(), and ShutDownSock().