24 #include "ns3/string.h" 25 #include "ns3/yans-wifi-helper.h" 26 #include "ns3/mobility-helper.h" 27 #include "ns3/wifi-net-device.h" 28 #include "ns3/adhoc-wifi-mac.h" 29 #include "ns3/ap-wifi-mac.h" 30 #include "ns3/propagation-loss-model.h" 31 #include "ns3/yans-error-rate-model.h" 32 #include "ns3/constant-position-mobility-model.h" 34 #include "ns3/pointer.h" 35 #include "ns3/rng-seed-manager.h" 36 #include "ns3/config.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/multi-model-spectrum-channel.h" 42 #include "ns3/wifi-spectrum-signal-parameters.h" 43 #include "ns3/wifi-phy-tag.h" 44 #include "ns3/yans-wifi-phy.h" 45 #include "ns3/mgt-headers.h" 54 int64_t currentStream = stream;
92 virtual void DoRun (
void);
138 phy->SetErrorRateModel (error);
140 phy->SetDevice (dev);
146 mac->SetAddress (Mac48Address::Allocate ());
149 dev->SetRemoteStationManager (manager);
161 channel->SetPropagationDelayModel (propDelay);
162 channel->SetPropagationLossModel (propLoss);
168 Simulator::Stop (
Seconds (10.0));
171 Simulator::Destroy ();
248 virtual void DoRun (
void);
276 :
TestCase (
"InterferenceHelperSequence")
305 phy->SetErrorRateModel (error);
307 phy->SetDevice (dev);
314 mac->SetAddress (Mac48Address::Allocate ());
317 dev->SetRemoteStationManager (manager);
333 channel->SetPropagationDelayModel (propDelay);
334 channel->SetPropagationLossModel (propLoss);
341 propLoss->SetDefaultLoss (999);
343 Simulator::Schedule (
Seconds (1.0),
345 DynamicCast<WifiNetDevice> (senderB->
GetDevice (0)));
347 Simulator::Schedule (
Seconds (1.0000001),
349 DynamicCast<WifiNetDevice> (rxOnly->
GetDevice (0)));
351 Simulator::Schedule (
Seconds (5.0),
353 DynamicCast<WifiNetDevice> (senderA->
GetDevice (0)));
355 Simulator::Schedule (
Seconds (7.0),
357 DynamicCast<WifiNetDevice> (senderB->
GetDevice (0)));
359 Simulator::Stop (
Seconds (100.0));
362 Simulator::Destroy ();
422 virtual void DoRun (
void);
448 :
TestCase (
"Test case for DCF immediate access with broadcast frames")
483 RngSeedManager::SetSeed (1);
484 RngSeedManager::SetRun (40);
489 channel->SetPropagationDelayModel (propDelay);
490 channel->SetPropagationLossModel (propLoss);
492 Ptr<Node> txNode = CreateObject<Node> ();
505 txPhy->SetErrorRateModel (txError);
507 txPhy->SetDevice (txDev);
508 txPhy->SetMobility (txMobility);
515 txMac->SetAddress (Mac48Address::Allocate ());
516 txDev->SetMac (txMac);
517 txDev->SetPhy (txPhy);
528 Simulator::Stop (
Seconds (2.0));
530 Simulator::Destroy ();
536 uint32_t expectedWait1 = 1408 + (1 * 9) + 16 + (2 * 9);
563 virtual void DoRun (
void);
580 :
TestCase (
"Test case for Bug 730"),
618 wifi.SetRemoteStationManager (
"ns3::ConstantRateWifiManager",
624 mac.SetType (
"ns3::StaWifiMac",
631 mac.SetType (
"ns3::ApWifiMac",
641 positionAlloc->
Add (Vector (0.0, 0.0, 0.0));
642 positionAlloc->
Add (Vector (1.0, 0.0, 0.0));
643 mobility.SetPositionAllocator (positionAlloc);
645 mobility.SetMobilityModel (
"ns3::ConstantPositionMobilityModel");
654 socket.SetPhysicalAddress (ap_device->
GetAddress ());
655 socket.SetProtocol (1);
659 packetSocket.
Install (wifiStaNode);
677 Simulator::Schedule (
Seconds (10.0),
Config::Set,
"/NodeList/0/DeviceList/0/RemoteStationManager/FragmentationThreshold",
StringValue (
"800"));
679 Simulator::Stop (
Seconds (55));
682 Simulator::Destroy ();
685 NS_TEST_ASSERT_MSG_EQ (result,
true,
"packet reception unexpectedly stopped after adapting fragmentation threshold!");
699 virtual void DoRun (
void);
713 :
TestCase (
"Test case for setting WifiPhy channel and frequency")
739 ssid =
Ssid (
"wifi-phy-configuration");
741 macSta.
SetType (
"ns3::StaWifiMac",
751 phySta = CreateObject<YansWifiPhy> ();
762 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
773 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
784 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
794 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
796 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
805 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
807 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
816 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
818 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
827 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
829 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
838 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
840 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
849 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
851 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
861 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
864 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
873 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
875 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
878 Config::Set (
"/NodeList/*/DeviceList/*/$ns3::WifiNetDevice/Phy/$ns3::YansWifiPhy/ChannelNumber",
UintegerValue (40));
886 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
888 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
891 Config::Set (
"/NodeList/*/DeviceList/*/$ns3::WifiNetDevice/Phy/$ns3::YansWifiPhy/ChannelWidth",
UintegerValue (40));
902 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
904 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
908 Config::Set (
"/NodeList/*/DeviceList/*/$ns3::WifiNetDevice/Phy/$ns3::YansWifiPhy/ChannelWidth",
UintegerValue (40));
918 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
922 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
933 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
935 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
948 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
950 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
960 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
963 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
988 wifi.SetRemoteStationManager (
"ns3::IdealWifiManager");
991 staDevice =
wifi.Install (
phy, macSta, wifiStaNode.
Get (0));
1025 Simulator::Destroy ();
1043 virtual void DoRun (
void);
1060 :
TestCase (
"Test case for Bug 2222"),
1061 m_countInternalCollisions (0)
1083 RngSeedManager::SetSeed (1);
1084 RngSeedManager::SetRun (2);
1085 int64_t streamNumber = 100;
1095 wifi.SetRemoteStationManager (
"ns3::ConstantRateWifiManager",
1100 mac.SetType (
"ns3::AdhocWifiMac",
1104 wifiDevices =
wifi.Install (
phy,
mac, wifiNodes);
1107 wifi.AssignStreams (wifiDevices, streamNumber);
1112 positionAlloc->
Add (Vector (0.0, 0.0, 0.0));
1113 positionAlloc->
Add (Vector (10.0, 0.0, 0.0));
1114 mobility.SetPositionAllocator (positionAlloc);
1116 mobility.SetMobilityModel (
"ns3::ConstantPositionMobilityModel");
1124 socket.SetPhysicalAddress (device2->GetAddress ());
1125 socket.SetProtocol (1);
1128 packetSocket.
Install (wifiNodes);
1156 Simulator::Stop (
Seconds (2.0));
1158 Simulator::Destroy ();
1181 virtual void DoRun (
void);
1207 :
TestCase (
"Test case for Bug 2483")
1221 double startingFreq = c->
Begin ()->fl;
1227 if (!packet->RemovePacketTag (tag))
1238 numBands, modulationClass);
1242 if (*it == tupleForCurrentTx)
1257 for (uint8_t i = 0; i < numPackets; i++)
1260 sourceDevice->
Send (pkt, destination, 0);
1270 uint16_t channelWidth = 40;
1281 lossModel->SetFrequency (5.180e9);
1285 = CreateObject<ConstantSpeedPropagationDelayModel> ();
1297 wifi.SetRemoteStationManager (
"ns3::ConstantRateWifiManager",
1302 mac.SetType (
"ns3::StaWifiMac");
1304 staDevice =
wifi.Install (spectrumPhy,
mac, wifiStaNode);
1306 mac.SetType (
"ns3::ApWifiMac");
1312 positionAlloc->
Add (Vector (0.0, 0.0, 0.0));
1313 positionAlloc->
Add (Vector (1.0, 0.0, 0.0));
1314 mobility.SetPositionAllocator (positionAlloc);
1316 mobility.SetMobilityModel (
"ns3::ConstantPositionMobilityModel");
1326 Simulator::Stop (
Seconds (0.8));
1329 Simulator::Destroy ();
1362 virtual void DoRun (
void);
1386 :
TestCase (
"Test case for Bug 2831"),
1387 m_reassocReqCount (0),
1388 m_reassocRespCount (0),
1389 m_countOperationalChannelWidth20 (0),
1390 m_countOperationalChannelWidth40 (0)
1442 propDelay.
SetTypeId (
"ns3::ConstantSpeedPropagationDelayModel");
1445 channel->SetPropagationDelayModel (propagationDelay);
1446 channel->SetPropagationLossModel (propagationLoss);
1448 Ptr<Node> apNode = CreateObject<Node> ();
1451 mac.SetTypeId (
"ns3::ApWifiMac");
1456 Ptr<Node> staNode = CreateObject<Node> ();
1458 mac.SetTypeId (
"ns3::StaWifiMac");
1467 m_apPhy = CreateObject<YansWifiPhy> ();
1477 staMobility->
SetPosition (Vector (1.0, 0.0, 0.0));
1480 m_staPhy = CreateObject<YansWifiPhy> ();
1489 apMac->
SetAddress (Mac48Address::Allocate ());
1490 apDev->SetMac (apMac);
1493 manager.
SetTypeId (
"ns3::ConstantRateWifiManager");
1497 staMac->
SetAddress (Mac48Address::Allocate ());
1498 staDev->SetMac (staMac);
1507 Simulator::Stop (
Seconds (3.0));
1509 Simulator::Destroy ();
1538 virtual void DoRun (
void);
1569 :
TestCase (
"Test case for StaWifiMac scanning capability")
1605 Ptr<Node> apNodeNearest = CreateObject<Node> ();
1606 Ptr<Node> staNode = CreateObject<Node> ();
1614 wifi.SetRemoteStationManager (
"ns3::ConstantRateWifiManager");
1618 mac.SetType (
"ns3::ApWifiMac",
1621 mac.SetType (
"ns3::ApWifiMac",
1622 "BeaconGeneration",
BooleanValue (nearestApBeaconGeneration));
1623 apDeviceNearest =
wifi.Install (
phy,
mac, apNodeNearest);
1626 mac.SetType (
"ns3::StaWifiMac",
1628 staDevice =
wifi.Install (
phy,
mac, staNode);
1632 positionAlloc->
Add (Vector (0.0, 0.0, 0.0));
1633 positionAlloc->
Add (Vector (10.0, 0.0, 0.0));
1634 positionAlloc->
Add (Vector (5.0, 5.0, 0.0));
1635 positionAlloc->
Add (Vector (6.0, 5.0, 0.0));
1636 mobility.SetPositionAllocator (positionAlloc);
1638 mobility.SetMobilityModel (
"ns3::ConstantPositionMobilityModel");
1655 Mac48Address nearestApAddr = DynamicCast<WifiNetDevice> (nearestAp->
GetDevice (0))->GetMac ()->GetAddress ();
1659 Simulator::Stop (
Seconds (0.2));
1661 Simulator::Destroy ();
1669 Mac48Address nearestApAddr = DynamicCast<WifiNetDevice> (nearestAp->
GetDevice (0))->GetMac ()->GetAddress ();
1671 Simulator::Stop (
Seconds (0.2));
1673 Simulator::Destroy ();
1681 Mac48Address secondNearestApAddr = DynamicCast<WifiNetDevice> (
nodes.Get (1)->GetDevice (0))->GetMac ()->GetAddress ();
1685 Simulator::Stop (
Seconds (1.5));
1687 Simulator::Destroy ();
ERP-OFDM PHY (Clause 19, Section 19.5)
size_t GetNumBands() const
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
Ptr< NetDevice > Get(uint32_t i) const
Get the Ptr<NetDevice> stored in this container at a given index.
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.
bool DefineChannelNumber(uint8_t channelNumber, WifiPhyStandard standard, uint16_t frequency, uint16_t channelWidth)
Add a channel definition to the WifiPhy.
AttributeValue implementation for Boolean.
void SetLocal(PacketSocketAddress addr)
set the local address and protocol to be used
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.
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
NS_ASSERT_MSG(false, "Ipv4AddressGenerator::MaskToIndex(): Impossible")
Hold variables of type string.
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)
WifiTxVector GetWifiTxVector(void) const
Getter for WifiTxVector parameter.
virtual void DoRun(void)
Implementation to actually run this TestCase.
void SetChannel(const Ptr< YansWifiChannel > channel)
Set the YansWifiChannel this YansWifiPhy is to be connected to.
Ptr< NetDevice > GetDevice(uint32_t index) const
Retrieve the index-th NetDevice associated to this node.
void AggregateObject(Ptr< Object > other)
Aggregate two Objects together.
Handle packet fragmentation and retransmissions for QoS data frames as well as MSDU aggregation (A-MS...
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.
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.
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.
void AddPropagationLossModel(Ptr< PropagationLossModel > loss)
Add the single-frequency propagation loss model to be used.
virtual ~StaWifiMacScanningTestCase()
uint8_t m_reassocReqCount
count number of reassociation requests
Make sure that when changing the fragmentation threshold during the simulation, the TCP transmission ...
void AssocCallback(std::string context, Mac48Address bssid)
Callback function on STA assoc event.
helps to create WifiNetDevice objects
Mac48Address m_associatedApBssid
Associated AP's bssid.
InterferenceHelperSequenceTest()
Give ns3::PacketSocket powers to ns3::Node.
void SetSingleDevice(uint32_t device)
Set the address to match only a specified NetDevice.
uint32_t GetIfIndex(void) const
Address GetAddress(void) const
a polymophic address class
void SetDevice(const Ptr< NetDevice > device)
Sets the device this PHY is associated with.
uint16_t GetChannelWidth(void) const
void TurnBeaconGenerationOn(Ptr< Node > apNode)
Turn beacon generation on the AP node.
Keep track of the current position and velocity of an object.
virtual void DoRun(void)
Implementation to actually run this TestCase.
Ptr< Node > CreateOne(Vector pos, Ptr< YansWifiChannel > channel)
Create one function.
virtual ~Bug2831TestCase()
HE PHY for the 5 GHz band (clause 26)
Make sure that Wifi STA is correctly associating to the best AP (i.e., nearest from STA)...
Ptr< Object > Create(void) const
Create an Object instance of the configured TypeId.
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
std::tuple< double, uint16_t, uint32_t, WifiModulationClass > FreqWidthSubbandModulationTuple
A tuple of {starting frequency, channelWidth, Number of subbands in SpectrumModel, modulation type}.
base class for all MAC-level wifi objects.
uint32_t m_countInternalCollisions
count internal collisions
void SetChannel(Ptr< SpectrumChannel > channel)
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
WifiMode GetMode(void) const
calculate a propagation delay.
Address GetBroadcast(void) const
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.
WifiModulationClass GetModulationClass() const
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.
Ptr< T > GetObject(void) const
Get a pointer to the requested aggregated Object.
void SwitchCh(Ptr< WifiNetDevice > dev)
Switch channel function.
Ptr< WifiPhy > GetPhy(void) const
Bands::const_iterator Begin() const
Const Iterator to the model Bands container start.
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.
Hold objects of type Ptr<T>.
static WifiTestSuite g_wifiTestSuite
the test suite
uint16_t GetFrequency(void) const
802.11 PHY layer modelThis PHY implements a model of 802.11a.
bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
virtual void SetChannelWidth(uint16_t channelwidth)
DSSS PHY (Clause 15) and HR/DSSS PHY (Clause 18)
virtual void DoRun(void)
Implementation to actually run this TestCase.
Ptr< Packet > Copy(void) const
performs a COW copy of the packet.
virtual bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)=0
NodeContainer Setup(bool nearestApBeaconGeneration, bool staActiveProbe)
Setup test.
virtual ~Bug2222TestCase()
Ptr< const SpectrumModel > GetSpectrumModel() const
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
uint8_t GetChannelNumber(void) const
Return current channel number.
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 GetStaChannelWidth(void) const
Return the STA channel width.
Helper class used to assign positions and mobility models to nodes.
ObjectFactory m_manager
manager
Instantiate subclasses of ns3::Object.
Ptr< WifiMac > GetMac(void) const
StaWifiMacScanningTestCase()
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< YansWifiPhy > m_apPhy
AP PHY.
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)
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.
Ptr< Node > Get(uint32_t i) const
Get the Ptr<Node> stored in this container at a given index.
Tag for WifiTxVector and WifiPreamble information to be embedded in outgoing transmissions as a Packe...
void Install(Ptr< Node > node) const
Aggregate an instance of a ns3::PacketSocketFactory onto the provided node.
void TurnApOff(Ptr< Node > apNode)
Turn the AP node off.
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.
uint16_t GetChannelWidth(void) const
virtual void ConfigureStandard(WifiPhyStandard standard)
Configure the PHY-level parameters for different Wi-Fi standard.
Make sure that the correct channel width and center frequency have been set for OFDM basic rate trans...
void TxDataFailedTrace(std::string context, Mac48Address adr)
Transmit data failed function.
void ChangeSupportedChannelWidth(void)
Function called to change the supported channel width at runtime.
This class can be used to hold variables of floating point type such as 'double' or 'float'...
Ptr< YansWifiPhy > GetYansWifiPhyPtr(const NetDeviceContainer &nc) const
Get yans wifi phy function.
void SetAttribute(std::string name, const AttributeValue &value)
Set a single attribute, raising fatal errors if unsuccessful.
void GetAttribute(std::string name, AttributeValue &value) const
Get the value of an 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.
Handle packet fragmentation and retransmissions for data and management frames.
Make it easy to create and manage PHY objects for the spectrum model.
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.
virtual void DoRun(void)
Implementation to actually run this TestCase.