23 #include "ns3/data-rate.h" 
   24 #include "ns3/simple-net-device.h" 
   25 #include "ns3/simple-net-device-helper.h" 
   26 #include "ns3/internet-stack-helper.h" 
   27 #include "ns3/ipv4-address-helper.h" 
   28 #include "ns3/dhcp-client.h" 
   29 #include "ns3/dhcp-server.h" 
   30 #include "ns3/dhcp-helper.h" 
   57   void LeaseObtained (std::string context, 
const Ipv4Address& newAddress);
 
   59   virtual void DoRun (
void);
 
   75   uint8_t numericalContext = std::stoi (context, 
nullptr, 10);
 
   77   if (numericalContext >=0 && numericalContext <=2)
 
  112   DynamicCast<DhcpServer> (dhcpServerApp.
Get (0))->AddStaticDhcpEntry (devNet.
Get (3)->GetAddress (), 
Ipv4Address (
"172.30.0.14"));
 
  115   dhcpClientNetDevs.
Add (devNet.
Get (1));
 
  116   dhcpClientNetDevs.Add (devNet.
Get (2));
 
  117   dhcpClientNetDevs.Add (devNet.
Get (3));
 
  128   Simulator::Stop (
Seconds (21.0));
 
  141   Simulator::Destroy ();
 
holds a vector of ns3::Application pointers. 
 
ApplicationContainer InstallDhcpServer(Ptr< NetDevice > netDevice, Ipv4Address serverAddr, Ipv4Address poolAddr, Ipv4Mask poolMask, Ipv4Address minAddr, Ipv4Address maxAddr, Ipv4Address gateway=Ipv4Address())
Install DHCP server of a node / NetDevice. 
 
NetDeviceContainer Install(Ptr< Node > node) const 
This method creates an ns3::SimpleChannel with the attributes configured by SimpleNetDeviceHelper::Se...
 
Ptr< NetDevice > Get(uint32_t i) const 
Get the Ptr stored in this container at a given index. 
 
a class to represent an Ipv4 address mask 
 
The helper class used to configure and install DHCP applications on nodes. 
 
void SetChannelAttribute(std::string n1, const AttributeValue &v1)
 
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit. 
 
aggregate IP/TCP/UDP functionality to existing Nodes. 
 
Class for representing data rates. 
 
AttributeValue implementation for Time. 
 
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite. 
 
void Add(NetDeviceContainer other)
Append the contents of another NetDeviceContainer to the end of this container. 
 
#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. 
 
holds a vector of ns3::NetDevice pointers 
 
void SetDeviceAttribute(std::string n1, const AttributeValue &v1)
 
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
 
void Start(Time start)
Arrange for all of the Applications in this container to Start() at the Time given as a parameter...
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
keep track of a set of node pointers. 
 
Ptr< Application > Get(uint32_t i) const 
Get the Ptr
 stored in this container at a given index.  
void Install(std::string nodeName) const 
Aggregate implementations of the ns3::Ipv4, ns3::Ipv6, ns3::Udp, and ns3::Tcp classes onto the provid...
 
ApplicationContainer InstallDhcpClient(Ptr< NetDevice > netDevice) const 
Install DHCP client of a nodes / NetDevice. 
 
Ipv4Address m_leasedAddress[3]
Address given to the nodes. 
 
Ipv4 addresses are stored in host order in this class. 
 
void Stop(Time stop)
Arrange for all of the Applications in this container to Stop() at the Time given as a parameter...
 
AttributeValue implementation for DataRate. 
 
Time Seconds(double value)
Construct a Time in the indicated unit. 
 
virtual void DoRun(void)
Implementation to actually run this TestCase. 
 
bool TraceConnect(std::string name, std::string context, const CallbackBase &cb)
Connect a TraceSource to a Callback with a context. 
 
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer. 
 
build a set of SimpleNetDevice objects 
 
static DhcpTestSuite dhcpTestSuite
Static variable for test initialization. 
 
void LeaseObtained(std::string context, const Ipv4Address &newAddress)
Triggered by an address lease on a client.