22 #include "ns3/simulator.h"
25 #include "ns3/inet-socket-address.h"
28 #include "ns3/ipv4-l3-protocol.h"
29 #include "ns3/arp-l3-protocol.h"
30 #include "ns3/ipv4-interface.h"
31 #include "ns3/loopback-net-device.h"
57 TestCase (
"Verify the IPv4 layer 3 protocol")
72 interface->SetDevice (device);
73 interface->SetNode (node);
74 uint32_t index = ipv4->AddIpv4Interface (interface);
79 interface->AddAddress (ifaceAddr1);
82 interface->AddAddress (ifaceAddr2);
85 interface->AddAddress (ifaceAddr3);
88 interface->AddAddress (ifaceAddr4);
89 uint32_t num = interface->GetNAddresses ();
91 interface->RemoveAddress (2);
92 num = interface->GetNAddresses ();
96 "The addresses should be identical");
99 output = interface->RemoveAddress (
Ipv4Address (
"250.0.0.1"));
101 "Wrong Interface Address Removed??");
102 num = interface->GetNAddresses ();
106 output = interface->RemoveAddress (
Ipv4Address (
"253.123.9.81"));
108 "Removed non-existent address??");
109 num = interface->GetNAddresses ();
115 "Able to remove loopback address??");
116 num = interface->GetNAddresses ();
120 bool result = ipv4->RemoveAddress (index,
Ipv4Address
123 num = interface->GetNAddresses ();
127 result = ipv4->RemoveAddress (index,
Ipv4Address (
"189.0.0.1"));
129 "Removed non-existent address??");
130 num = interface->GetNAddresses ();
136 "Able to remove loopback address??");
137 num = interface->GetNAddresses ();
Ipv4L3ProtocolTestCase()
Constructor.
virtual void DoRun(void)
Run unit tests for this class.
Ptr< T > CreateObject(void)
static void Destroy(void)
Every event scheduled by the Simulator::insertAtDestroy method is invoked.
void AddTestCase(TestCase *testCase) NS_DEPRECATED
Add an individual child TestCase case to this TestCase.
static Ipv4Address GetLoopback(void)
Ipv4 addresses are stored in host order in this class.
virtual ~Ipv4L3ProtocolTestCase()
Destructor.
uint32_t AddDevice(Ptr< NetDevice > device)
a class to store IPv4 address information on an interface
This test suite implements a Unit Test.
IPv4L3ProtocolTestSuite()
ns3::IPv4L3ProtocolTestSuite g_ipv4protocolTestSuite
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.