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 ();
113 output = interface->RemoveAddress (Ipv4Address::GetLoopback ());
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 ();
134 result = ipv4->RemoveAddress (index, Ipv4Address::GetLoopback ());
136 "Able to remove loopback address??");
137 num = interface->GetNAddresses ();
140 Simulator::Destroy ();
IPv4L3ProtocolTestSuite g_ipv4protocolTestSuite
IPv4L3ProtocolTestSuite()
virtual ~Ipv4L3ProtocolTestCase()
Destructor.
Ptr< T > CreateObject(void)
#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.
void AddTestCase(TestCase *testCase) NS_DEPRECATED
Add an individual child TestCase case to this TestCase.
Ipv4L3ProtocolTestCase()
Constructor.
Ipv4 addresses are stored in host order in this class.
uint32_t AddDevice(Ptr< NetDevice > device)
a class to store IPv4 address information on an interface
virtual void DoRun(void)
Run unit tests for this class.
This test suite implements a Unit Test.