24 #include "ns3/yans-wifi-helper.h"
25 #include "ns3/mobility-helper.h"
26 #include "ns3/wifi-net-device.h"
27 #include "ns3/adhoc-wifi-mac.h"
28 #include "ns3/propagation-delay-model.h"
29 #include "ns3/propagation-loss-model.h"
30 #include "ns3/yans-error-rate-model.h"
31 #include "ns3/constant-position-mobility-model.h"
33 #include "ns3/pointer.h"
34 #include "ns3/rng-seed-manager.h"
35 #include "ns3/config.h"
36 #include "ns3/string.h"
37 #include "ns3/packet-socket-server.h"
38 #include "ns3/packet-socket-client.h"
39 #include "ns3/packet-socket-helper.h"
40 #include "ns3/spectrum-wifi-helper.h"
41 #include "ns3/spectrum-value.h"
42 #include "ns3/multi-model-spectrum-channel.h"
43 #include "ns3/wifi-spectrum-signal-parameters.h"
44 #include "ns3/wifi-phy-tag.h"
55 int64_t currentStream = stream;
93 virtual void DoRun (
void);
139 phy->SetErrorRateModel (error);
140 phy->SetChannel (channel);
141 phy->SetDevice (dev);
147 mac->SetAddress (Mac48Address::Allocate ());
150 dev->SetRemoteStationManager (manager);
165 CreateOne (Vector (0.0, 0.0, 0.0), channel);
166 CreateOne (Vector (5.0, 0.0, 0.0), channel);
167 CreateOne (Vector (5.0, 0.0, 0.0), channel);
169 Simulator::Stop (
Seconds (10.0));
172 Simulator::Destroy ();
249 virtual void DoRun (
void);
277 :
TestCase (
"InterferenceHelperSequence")
306 phy->SetErrorRateModel (error);
307 phy->SetChannel (channel);
308 phy->SetDevice (dev);
309 phy->SetMobility (mobility);
315 mac->SetAddress (Mac48Address::Allocate ());
318 dev->SetRemoteStationManager (manager);
342 propLoss->SetDefaultLoss (999);
344 Simulator::Schedule (
Seconds (1.0),
346 DynamicCast<WifiNetDevice> (senderB->
GetDevice (0)));
348 Simulator::Schedule (
Seconds (1.0000001),
350 DynamicCast<WifiNetDevice> (rxOnly->
GetDevice (0)));
352 Simulator::Schedule (
Seconds (5.0),
354 DynamicCast<WifiNetDevice> (senderA->
GetDevice (0)));
356 Simulator::Schedule (
Seconds (7.0),
358 DynamicCast<WifiNetDevice> (senderB->
GetDevice (0)));
360 Simulator::Stop (
Seconds (100.0));
363 Simulator::Destroy ();
423 virtual void DoRun (
void);
449 :
TestCase (
"Test case for DCF immediate access with broadcast frames")
484 RngSeedManager::SetSeed (1);
485 RngSeedManager::SetRun (40);
493 Ptr<Node> txNode = CreateObject<Node> ();
506 txPhy->SetErrorRateModel (txError);
507 txPhy->SetChannel (channel);
508 txPhy->SetDevice (txDev);
509 txPhy->SetMobility (txMobility);
516 txMac->SetAddress (Mac48Address::Allocate ());
517 txDev->SetMac (txMac);
518 txDev->SetPhy (txPhy);
529 Simulator::Stop (
Seconds (2.0));
531 Simulator::Destroy ();
537 uint32_t expectedWait1 = 1408 + (1 * 9) + 16 + (2 * 9);
564 virtual void DoRun (
void);
581 :
TestCase (
"Test case for Bug 730"),
625 mac.
SetType (
"ns3::StaWifiMac",
630 staDevices = wifi.
Install (phy, mac, wifiStaNode);
637 apDevices = wifi.
Install (phy, mac, wifiApNode);
642 positionAlloc->
Add (Vector (0.0, 0.0, 0.0));
643 positionAlloc->
Add (Vector (1.0, 0.0, 0.0));
648 mobility.
Install (wifiStaNode);
655 socket.SetPhysicalAddress (ap_device->
GetAddress ());
656 socket.SetProtocol (1);
660 packetSocket.
Install (wifiStaNode);
661 packetSocket.
Install (wifiApNode);
678 Simulator::Schedule (
Seconds (10.0),
Config::Set,
"/NodeList/0/DeviceList/0/RemoteStationManager/FragmentationThreshold",
StringValue (
"800"));
680 Simulator::Stop (
Seconds (55));
683 Simulator::Destroy ();
686 NS_TEST_ASSERT_MSG_EQ (result,
true,
"packet reception unexpectedly stopped after adapting fragmentation threshold!");
700 virtual void DoRun (
void);
714 :
TestCase (
"Test case for setting WifiPhy channel and frequency")
740 ssid =
Ssid (
"wifi-phy-configuration");
742 macSta.
SetType (
"ns3::StaWifiMac",
752 phySta = CreateObject<YansWifiPhy> ();
763 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
774 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
785 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
797 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
808 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
819 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
830 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
841 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
852 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
865 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
876 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
879 Config::Set (
"/NodeList/*/DeviceList/*/$ns3::WifiNetDevice/Phy/$ns3::YansWifiPhy/ChannelNumber",
UintegerValue (40));
889 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
892 Config::Set (
"/NodeList/*/DeviceList/*/$ns3::WifiNetDevice/Phy/$ns3::YansWifiPhy/ChannelWidth",
UintegerValue (40));
905 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
909 Config::Set (
"/NodeList/*/DeviceList/*/$ns3::WifiNetDevice/Phy/$ns3::YansWifiPhy/ChannelWidth",
UintegerValue (40));
923 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
936 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
951 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
964 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
992 staDevice = wifi.
Install (phy, macSta, wifiStaNode.
Get (0));
1026 Simulator::Destroy ();
1044 virtual void DoRun (
void);
1061 :
TestCase (
"Test case for Bug 2222"),
1062 m_countInternalCollisions (0)
1084 RngSeedManager::SetSeed (1);
1085 RngSeedManager::SetRun (2);
1086 int64_t streamNumber = 100;
1101 mac.
SetType (
"ns3::AdhocWifiMac",
1105 wifiDevices = wifi.
Install (phy, mac, wifiNodes);
1113 positionAlloc->
Add (Vector (0.0, 0.0, 0.0));
1114 positionAlloc->
Add (Vector (10.0, 0.0, 0.0));
1125 socket.SetPhysicalAddress (device2->GetAddress ());
1126 socket.SetProtocol (1);
1129 packetSocket.
Install (wifiNodes);
1157 Simulator::Stop (
Seconds (2.0));
1159 Simulator::Destroy ();
1182 virtual void DoRun (
void);
1208 :
TestCase (
"Test case for Bug 2483")
1222 double startingFreq = c->
Begin ()->fl;
1228 if (!packet->RemovePacketTag (tag))
1239 numBands, modulationClass);
1243 if (*it == tupleForCurrentTx)
1258 for (uint8_t i = 0; i < numPackets; i++)
1261 sourceDevice->
Send (pkt, destination, 0);
1271 uint8_t channelWidth = 40;
1282 lossModel->SetFrequency (5.180e9);
1286 = CreateObject<ConstantSpeedPropagationDelayModel> ();
1303 mac.
SetType (
"ns3::StaWifiMac");
1305 staDevice = wifi.
Install (spectrumPhy, mac, wifiStaNode);
1307 mac.
SetType (
"ns3::ApWifiMac");
1309 apDevice = wifi.
Install (spectrumPhy, mac, wifiApNode);
1313 positionAlloc->
Add (Vector (0.0, 0.0, 0.0));
1314 positionAlloc->
Add (Vector (1.0, 0.0, 0.0));
1318 mobility.
Install (wifiApNode);
1319 mobility.
Install (wifiStaNode);
1327 Simulator::Stop (
Seconds (0.8));
1330 Simulator::Destroy ();
1363 virtual void DoRun (
void);
1387 :
TestCase (
"Test case for Bug 2831"),
1388 m_reassocReqCount (0),
1389 m_reassocRespCount (0),
1390 m_countOperationalChannelWidth20 (0),
1391 m_countOperationalChannelWidth40 (0)
1443 propDelay.
SetTypeId (
"ns3::ConstantSpeedPropagationDelayModel");
1449 Ptr<Node> apNode = CreateObject<Node> ();
1452 mac.SetTypeId (
"ns3::ApWifiMac");
1456 Ptr<Node> staNode = CreateObject<Node> ();
1458 mac.SetTypeId (
"ns3::StaWifiMac");
1467 m_apPhy = CreateObject<YansWifiPhy> ();
1469 m_apPhy->SetChannel (channel);
1470 m_apPhy->SetMobility (apMobility);
1471 m_apPhy->SetDevice (apDev);
1473 m_apPhy->SetChannelNumber (36);
1474 m_apPhy->SetChannelWidth (20);
1477 staMobility->
SetPosition (Vector (1.0, 0.0, 0.0));
1480 m_staPhy = CreateObject<YansWifiPhy> ();
1489 apMac->
SetAddress (Mac48Address::Allocate ());
1490 apDev->SetMac (apMac);
1491 apDev->SetPhy (m_apPhy);
1493 manager.
SetTypeId (
"ns3::ConstantRateWifiManager");
1497 staMac->
SetAddress (Mac48Address::Allocate ());
1498 staDev->SetMac (staMac);
1507 Simulator::Stop (
Seconds (3.0));
1509 Simulator::Destroy ();
ERP-OFDM PHY (Clause 19, Section 19.5)
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
void RunOne(void)
Run one function.
void Set(std::string name, const AttributeValue &v)
uint32_t AddApplication(Ptr< Application > application)
Associate an Application to this Node.
uint8_t m_countOperationalChannelWidth20
count number of beacon frames announcing a 20 MHz operating channel width
uint8_t GetChannelNumber(void) const
Return current channel number.
void SetStopTime(Time stop)
Specify application stop time.
Simulation virtual time values and global simulation resolution.
std::vector< FreqWidthSubbandModulationTuple > m_distinctTuples
vector of distinct {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type} tuples
virtual ~Bug730TestCase()
Smart pointer class similar to boost::intrusive_ptr.
OFDM PHY for the 5 GHz band (Clause 17 with 5 MHz channel bandwidth)
void PopulateArpCache()
Populate ARP cache function.
size_t GetNumBands() const
AttributeValue implementation for Boolean.
void SetLocal(PacketSocketAddress addr)
set the local address and protocol to be used
void SetPropagationLossModel(const Ptr< PropagationLossModel > loss)
HT PHY for the 5 GHz band (clause 20)
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
void Receive(std::string context, Ptr< const Packet > p, const Address &adr)
Receive function.
Ptr< YansWifiChannel > Create(void) const
void SetRemoteStationManager(std::string type, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue())
Ptr< T > GetObject(void) const
Get a pointer to the requested aggregated Object.
Hold variables of type string.
Ptr< NetDevice > Get(uint32_t i) const
Get the Ptr stored in this container at a given index.
virtual void DoRun(void)
Implementation to actually run this TestCase.
Make it easy to create and manage PHY objects for the yans model.
void Set(std::string path, const AttributeValue &value)
void SetChannel(const Ptr< YansWifiChannel > channel)
Set the YansWifiChannel this YansWifiPhy is to be connected to.
void AggregateObject(Ptr< Object > other)
Aggregate two Objects together.
Address GetAddress(void) const
an address for a packet socket
void RxCallback(std::string context, Ptr< const Packet > p)
Callback triggered when a packet is received by the PHYs.
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit.
virtual void AddPropagationLossModel(Ptr< PropagationLossModel > loss)
Add the single-frequency propagation loss model to be used.
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory.
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
OFDM PHY for the 5 GHz band (Clause 17 with 10 MHz channel bandwidth)
void ConfigureStandard(WifiPhyStandard standard)
void SetMobility(const Ptr< MobilityModel > mobility)
assign a mobility model to this device
The HT Operation Information ElementThis class knows how to serialise and deserialise the HT Operatio...
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
bool QosUtilsIsOldPacket(uint16_t startingSeq, uint16_t seqNumber)
This function checks if packet with sequence number seqNumber is an "old" packet. ...
void StoreDistinctTuple(std::string context, Ptr< SpectrumSignalParameters > txParams)
Stores the distinct {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type} tuples that have been used during the testcase run.
HT PHY for the 2.4 GHz band (clause 20)
Qos Utils Is Old Packet Test.
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
uint8_t m_reassocReqCount
count number of reassociation requests
Make sure that when changing the fragmentation threshold during the simulation, the TCP transmission ...
helps to create WifiNetDevice objects
InterferenceHelperSequenceTest()
uint16_t GetFrequency(void) const
Give ns3::PacketSocket powers to ns3::Node.
void SetSingleDevice(uint32_t device)
Set the address to match only a specified NetDevice.
a polymophic address class
uint8_t GetChannelWidth(void) const
void SetDevice(const Ptr< NetDevice > device)
Sets the device this PHY is associated with.
virtual void SetStandard(WifiPhyStandard standard)
Keep track of the current position and velocity of an object.
void SetChannel(Ptr< YansWifiChannel > channel)
virtual void DoRun(void)
Implementation to actually run this TestCase.
Ptr< WifiPhy > GetPhy(void) const
Ptr< Node > CreateOne(Vector pos, Ptr< YansWifiChannel > channel)
Create one function.
This queue contains packets for a particular access class.
virtual ~Bug2831TestCase()
void SetPropagationDelayModel(const Ptr< PropagationDelayModel > delay)
NS_ASSERT_MSG(false,"Ipv4AddressGenerator::MaskToIndex(): Impossible")
void Install(Ptr< Node > node) const
"Layout" a single node according to the current position allocator type.
std::tuple< double, uint8_t, uint32_t, WifiModulationClass > FreqWidthSubbandModulationTuple
A tuple of {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type}.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
Ptr< Object > Create(void) const
Create an Object instance of the configured TypeId.
base class for all MAC-level wifi objects.
uint32_t m_countInternalCollisions
count internal collisions
void SetChannel(Ptr< SpectrumChannel > channel)
Ptr< const SpectrumModel > GetSpectrumModel() const
Hold an unsigned integer type.
#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.
QosUtilsIsOldPacketTest()
holds a vector of ns3::NetDevice pointers
Ptr< YansWifiPhy > GetYansWifiPhyPtr(const NetDeviceContainer &nc) const
Get yans wifi phy function.
virtual NetDeviceContainer Install(const WifiPhyHelper &phy, const WifiMacHelper &mac, NodeContainer::Iterator first, NodeContainer::Iterator last) const
calculate a propagation delay.
int64_t AssignStreams(NetDeviceContainer c, int64_t stream)
Assign a fixed random variable stream number to the random variables used by the Phy and Mac aspects ...
Ptr< NetDevice > GetDevice(uint32_t index) const
Retrieve the index-th NetDevice associated to this node.
Hold together all Wifi-related objects.
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
virtual void DoRun(void)
Implementation to actually run this TestCase.
virtual void DoRun(void)
Implementation to actually run this TestCase.
Make sure that the channel width and the channel number can be changed at runtime.
virtual void SetAddress(Mac48Address address)=0
hold a list of per-remote-station state.
void Connect(std::string path, const CallbackBase &cb)
This is intended to be the configuration used in this paper: Gavin Holland, Nitin Vaidya and Paramvir...
void SetErrorRateModel(const Ptr< ErrorRateModel > rate)
Sets the error rate model.
virtual void DoRun(void)
Implementation to actually run this TestCase.
void SwitchCh(Ptr< WifiNetDevice > dev)
Switch channel function.
Ptr< Packet > Copy(void) const
performs a COW copy of the packet.
Ptr< YansWifiPhy > m_staPhy
STA PHY.
virtual void DoRun(void)
Implementation to actually run this TestCase.
OFDM PHY for the 5 GHz band (Clause 17)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
keep track of a set of node pointers.
virtual void SetChannelWidth(uint8_t channelwidth)
Hold objects of type Ptr.
static WifiTestSuite g_wifiTestSuite
the test suite
802.11 PHY layer modelThis PHY implements a model of 802.11a.
bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
DSSS PHY (Clause 15) and HR/DSSS PHY (Clause 18)
void SetMobilityModel(std::string type, std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue(), std::string n8="", const AttributeValue &v8=EmptyAttributeValue(), std::string n9="", const AttributeValue &v9=EmptyAttributeValue())
virtual void DoRun(void)
Implementation to actually run this TestCase.
virtual bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)=0
uint32_t GetIfIndex(void) const
virtual ~Bug2222TestCase()
virtual void SetChannelNumber(uint8_t id)
Set channel number.
Ptr< Packet > packet
The packet being transmitted with this signal.
manage and create wifi channel objects for the yans model.
ObjectFactory m_propDelay
propagation delay
void Install(Ptr< Node > node) const
Aggregate an instance of a ns3::PacketSocketFactory onto the provided node.
void GetAttribute(std::string name, AttributeValue &value) const
Get the value of an attribute, raising fatal errors if unsuccessful.
create MAC layers for a ns3::WifiNetDevice.
void SendOnePacket(Ptr< LrWpanPhy > sender, Ptr< LrWpanPhy > receiver)
uint8_t m_countOperationalChannelWidth40
count number of beacon frames announcing a 40 MHz operating channel width
void SetErrorRateModel(std::string name, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue())
void SetPosition(const Vector &position)
The IEEE 802.11 SSID Information Element.
ObjectFactory m_propDelay
propagation delay
Make sure that when virtual collision occurs the wifi remote station manager is triggered and the ret...
virtual void SetType(std::string type, std::string n0="", const AttributeValue &v0=EmptyAttributeValue(), std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue(), std::string n8="", const AttributeValue &v8=EmptyAttributeValue(), std::string n9="", const AttributeValue &v9=EmptyAttributeValue(), std::string n10="", const AttributeValue &v10=EmptyAttributeValue())
uint8_t GetChannelWidth(void) const
Helper class used to assign positions and mobility models to nodes.
WifiTxVector GetWifiTxVector(void) const
Getter for WifiTxVector parameter.
Address GetBroadcast(void) const
ObjectFactory m_manager
manager
Instantiate subclasses of ns3::Object.
WifiModulationClass
This enumeration defines the modulation classes per (Table 9-4 "Modulation classes"; IEEE 802...
uint32_t AddDevice(Ptr< NetDevice > device)
Associate a NetDevice to this node.
virtual ~Bug2483TestCase()
void SetRemote(PacketSocketAddress addr)
set the remote address and protocol to be used
Ptr< SpectrumValue > psd
The Power Spectral Density of the waveform, in linear units.
static void AssignWifiRandomStreams(Ptr< WifiMac > mac, int64_t stream)
Ptr< Node > Get(uint32_t i) const
Get the Ptr stored in this container at a given index.
Ptr< YansWifiPhy > m_apPhy
AP PHY.
virtual void SetPropagationDelayModel(Ptr< PropagationDelayModel > delay)
Set the propagation delay model to be used.
Time Seconds(double value)
Construct a Time in the indicated unit.
AttributeValue implementation for Ssid.
ObjectFactory m_manager
manager
void SetDefault(std::string name, const AttributeValue &value)
Bands::const_iterator Begin() const
Const Iterator to the model Bands container start.
void SendPacketBurst(uint8_t numPackets, Ptr< NetDevice > sourceDevice, Address &destination) const
Triggers the arrival of a burst of 1000 Byte-long packets in the source device.
uint32_t m_received
received
void Add(Vector v)
Add a position to the list of positions.
void SendOnePacket(Ptr< WifiNetDevice > dev)
Send one packet function.
Tag for WifiTxVector and WifiPreamble information to be embedded in outgoing transmissions as a Packe...
bool DefineChannelNumber(uint8_t channelNumber, WifiPhyStandard standard, uint16_t frequency, uint8_t channelWidth)
Add a channel definition to the WifiPhy.
void SendOnePacket(Ptr< WifiNetDevice > dev)
Send one packet function.
Time MicroSeconds(uint64_t value)
Construct a Time in the indicated unit.
SetChannelFrequencyTest()
Time Now(void)
create an ns3::Time instance which contains the current simulation time.
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
virtual void ConfigureStandard(WifiPhyStandard standard)
Configure the PHY-level parameters for different Wi-Fi standard.
WifiModulationClass GetModulationClass() const
Make sure that the correct channel width and center frequency have been set for OFDM basic rate trans...
WifiMode GetMode(void) const
void TxDataFailedTrace(std::string context, Mac48Address adr)
Transmit data failed function.
void SetPositionAllocator(Ptr< PositionAllocator > allocator)
Set the position allocator which will be used to allocate the initial position of every node initiali...
uint8_t GetStaChannelWidth(void) const
Return the STA channel width.
void ChangeSupportedChannelWidth(void)
Function called to change the supported channel width at runtime.
handle packet fragmentation and retransmissions.
This class can be used to hold variables of floating point type such as 'double' or 'float'...
void SetAttribute(std::string name, const AttributeValue &value)
Set a single attribute, raising fatal errors if unsuccessful.
void SetStartTime(Time start)
Specify application start time.
uint8_t m_reassocRespCount
count number of reassociation responses
void CreateOne(Vector pos, Ptr< YansWifiChannel > channel)
Create one function.
Set Channel Frequency Test.
Make it easy to create and manage PHY objects for the spectrum model.
virtual void DoRun(void)
Implementation to actually run this TestCase.