A Discrete-Event Network Simulator
API
ns3::WifiPhyHelper Class Referenceabstract

create PHY objects More...

#include "wifi-helper.h"

+ Inheritance diagram for ns3::WifiPhyHelper:
+ Collaboration diagram for ns3::WifiPhyHelper:

Public Types

enum  SupportedPcapDataLinkTypes { DLT_IEEE802_11 = PcapHelper::DLT_IEEE802_11, DLT_PRISM_HEADER = PcapHelper::DLT_PRISM_HEADER, DLT_IEEE802_11_RADIO = PcapHelper::DLT_IEEE802_11_RADIO }
 An enumeration of the pcap data link types (DLTs) which this helper supports. More...
 

Public Member Functions

 WifiPhyHelper ()
 
virtual ~WifiPhyHelper ()
 
virtual Ptr< WifiPhyCreate (Ptr< Node > node, Ptr< WifiNetDevice > device) const =0
 
void DisablePreambleDetectionModel ()
 Disable the preamble detection model. More...
 
PcapHelper::DataLinkType GetPcapDataLinkType (void) const
 Get the data link type of PCAP traces to be used. More...
 
void Set (std::string name, const AttributeValue &v)
 
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 SetFrameCaptureModel (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 SetPcapDataLinkType (SupportedPcapDataLinkTypes dlt)
 Set the data link type of PCAP traces to be used. More...
 
void SetPreambleDetectionModel (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())
 
- Public Member Functions inherited from ns3::PcapHelperForDevice
 PcapHelperForDevice ()
 Construct a PcapHelperForDevice. More...
 
virtual ~PcapHelperForDevice ()
 Destroy a PcapHelperForDevice. More...
 
void EnablePcap (std::string prefix, NetDeviceContainer d, bool promiscuous=false)
 Enable pcap output on each device in the container which is of the appropriate type. More...
 
void EnablePcap (std::string prefix, NodeContainer n, bool promiscuous=false)
 Enable pcap output on each device (which is of the appropriate type) in the nodes provided in the container. More...
 
void EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false)
 Enable pcap output the indicated net device. More...
 
void EnablePcap (std::string prefix, std::string ndName, bool promiscuous=false, bool explicitFilename=false)
 Enable pcap output the indicated net device using a device previously named using the ns-3 object name service. More...
 
void EnablePcap (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool promiscuous=false)
 Enable pcap output on the device specified by a global node-id (of a previously created node) and associated device-id. More...
 
void EnablePcapAll (std::string prefix, bool promiscuous=false)
 Enable pcap output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. More...
 
- Public Member Functions inherited from ns3::AsciiTraceHelperForDevice
 AsciiTraceHelperForDevice ()
 Construct an AsciiTraceHelperForDevice. More...
 
virtual ~AsciiTraceHelperForDevice ()
 Destroy an AsciiTraceHelperForDevice. More...
 
void EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d)
 Enable ascii trace output on each device in the container which is of the appropriate type. More...
 
void EnableAscii (Ptr< OutputStreamWrapper > stream, NodeContainer n)
 Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container. More...
 
void EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd)
 Enable ascii trace output on the indicated net device. More...
 
void EnableAscii (Ptr< OutputStreamWrapper > stream, std::string ndName)
 Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service. More...
 
void EnableAscii (Ptr< OutputStreamWrapper > stream, uint32_t nodeid, uint32_t deviceid)
 Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id. More...
 
void EnableAscii (std::string prefix, NetDeviceContainer d)
 Enable ascii trace output on each device in the container which is of the appropriate type. More...
 
void EnableAscii (std::string prefix, NodeContainer n)
 Enable ascii trace output on each device (which is of the appropriate type) in the nodes provided in the container. More...
 
void EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false)
 Enable ascii trace output on the indicated net device. More...
 
void EnableAscii (std::string prefix, std::string ndName, bool explicitFilename=false)
 Enable ascii trace output the indicated net device using a device previously named using the ns-3 object name service. More...
 
void EnableAscii (std::string prefix, uint32_t nodeid, uint32_t deviceid, bool explicitFilename)
 Enable ascii trace output on the device specified by a global node-id (of a previously created node) and associated device-id. More...
 
void EnableAsciiAll (Ptr< OutputStreamWrapper > stream)
 Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. More...
 
void EnableAsciiAll (std::string prefix)
 Enable ascii trace output on each device (which is of the appropriate type) in the set of all nodes created in the simulation. More...
 

Static Protected Member Functions

static void PcapSniffRxEvent (Ptr< PcapFileWrapper > file, Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise, uint16_t staId=SU_STA_ID)
 
static void PcapSniffTxEvent (Ptr< PcapFileWrapper > file, Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, uint16_t staId=SU_STA_ID)
 

Protected Attributes

ObjectFactory m_errorRateModel
 error rate model More...
 
ObjectFactory m_frameCaptureModel
 frame capture model More...
 
ObjectFactory m_phy
 PHY object. More...
 
ObjectFactory m_preambleDetectionModel
 preamble detection model More...
 

Private Member Functions

virtual void EnableAsciiInternal (Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename) override
 Enable ASCII trace output on the indicated net device. More...
 
virtual void EnablePcapInternal (std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename) override
 Enable pcap output the indicated net device. More...
 

Static Private Member Functions

static void GetRadiotapHeader (RadiotapHeader &header, Ptr< Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, uint16_t staId)
 Get the Radiotap header for a transmitted packet. More...
 
static void GetRadiotapHeader (RadiotapHeader &header, Ptr< Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, uint16_t staId, SignalNoiseDbm signalNoise)
 Get the Radiotap header for a received packet. More...
 

Private Attributes

PcapHelper::DataLinkType m_pcapDlt
 PCAP data link type. More...
 

Detailed Description

create PHY objects

This base class must be implemented by new PHY implementation which wish to integrate with the ns3::WifiHelper class.

Definition at line 46 of file wifi-helper.h.

Member Enumeration Documentation

◆ SupportedPcapDataLinkTypes

An enumeration of the pcap data link types (DLTs) which this helper supports.

See http://wiki.wireshark.org/Development/LibpcapFileFormat for more information on these formats.

Enumerator
DLT_IEEE802_11 

IEEE 802.11 Wireless LAN headers on packets.

DLT_PRISM_HEADER 

Include Prism monitor mode information.

DLT_IEEE802_11_RADIO 

Include Radiotap link layer information.

Definition at line 172 of file wifi-helper.h.

Constructor & Destructor Documentation

◆ WifiPhyHelper()

ns3::WifiPhyHelper::WifiPhyHelper ( )

Definition at line 129 of file wifi-helper.cc.

References SetPreambleDetectionModel().

+ Here is the call graph for this function:

◆ ~WifiPhyHelper()

ns3::WifiPhyHelper::~WifiPhyHelper ( )
virtual

Definition at line 135 of file wifi-helper.cc.

Member Function Documentation

◆ Create()

virtual Ptr<WifiPhy> ns3::WifiPhyHelper::Create ( Ptr< Node node,
Ptr< WifiNetDevice device 
) const
pure virtual
Parameters
nodethe node on which the PHY object will reside
devicethe device within which the PHY object will reside
Returns
a new PHY object.

Subclasses must implement this method to allow the ns3::WifiHelper class to create PHY objects from ns3::WifiHelper::Install.

Implemented in ns3::YansWifiPhyHelper, and ns3::SpectrumWifiPhyHelper.

Referenced by ns3::MeshHelper::CreateInterface(), ns3::WaveHelper::Install(), and ns3::WifiHelper::Install().

+ Here is the caller graph for this function:

◆ DisablePreambleDetectionModel()

void ns3::WifiPhyHelper::DisablePreambleDetectionModel ( )

Disable the preamble detection model.

Definition at line 215 of file wifi-helper.cc.

References m_preambleDetectionModel, and ns3::ObjectFactory::SetTypeId().

Referenced by ChainRegressionTest::CreateDevices(), and Bug772ChainTest::CreateDevices().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnableAsciiInternal()

void ns3::WifiPhyHelper::EnableAsciiInternal ( Ptr< OutputStreamWrapper stream,
std::string  prefix,
Ptr< NetDevice nd,
bool  explicitFilename 
)
overrideprivatevirtual

Enable ASCII trace output on the indicated net device.

NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.

Parameters
streamThe output stream object to use when logging ASCII traces.
prefixFilename prefix to use for ASCII trace files.
ndNet device for which you want to enable tracing.
explicitFilenameTreat the prefix as an explicit filename if true

Implements ns3::AsciiTraceHelperForDevice.

Reimplemented in ns3::YansWavePhyHelper.

Definition at line 634 of file wifi-helper.cc.

References ns3::AsciiPhyReceiveSinkWithContext(), ns3::AsciiPhyReceiveSinkWithoutContext(), ns3::AsciiPhyTransmitSinkWithContext(), ns3::AsciiPhyTransmitSinkWithoutContext(), ns3::Config::Connect(), ns3::Config::ConnectWithoutContext(), ns3::AsciiTraceHelper::CreateFileStream(), ns3::Packet::EnablePrinting(), ns3::AsciiTraceHelper::GetFilenameFromDevice(), ns3::Node::GetId(), ns3::NetDevice::GetIfIndex(), ns3::NetDevice::GetNode(), ns3::Object::GetObject(), ns3::MakeBoundCallback(), and NS_LOG_INFO.

+ Here is the call graph for this function:

◆ EnablePcapInternal()

void ns3::WifiPhyHelper::EnablePcapInternal ( std::string  prefix,
Ptr< NetDevice nd,
bool  promiscuous,
bool  explicitFilename 
)
overrideprivatevirtual

Enable pcap output the indicated net device.

NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.

Parameters
prefixFilename prefix to use for pcap files.
ndNet device for which you want to enable tracing.
promiscuousIf true capture all possible packets available at the device.
explicitFilenameTreat the prefix as an explicit filename if true

Implements ns3::PcapHelperForDevice.

Reimplemented in ns3::YansWavePhyHelper.

Definition at line 598 of file wifi-helper.cc.

References ns3::PcapHelper::CreateFile(), create-module::file, ns3::PcapHelper::GetFilenameFromDevice(), ns3::Object::GetObject(), ns3::WifiNetDevice::GetPhy(), m_pcapDlt, ns3::MakeBoundCallback(), NS_ABORT_MSG_IF, NS_LOG_FUNCTION, NS_LOG_INFO, PcapSniffRxEvent(), PcapSniffTxEvent(), and third::phy.

+ Here is the call graph for this function:

◆ GetPcapDataLinkType()

PcapHelper::DataLinkType ns3::WifiPhyHelper::GetPcapDataLinkType ( void  ) const

Get the data link type of PCAP traces to be used.

See also
SupportedPcapDataLinkTypes
Returns
The data link type of the pcap file (and packets) to be used

Definition at line 592 of file wifi-helper.cc.

References m_pcapDlt.

Referenced by ns3::YansWavePhyHelper::EnablePcapInternal().

+ Here is the caller graph for this function:

◆ GetRadiotapHeader() [1/2]

void ns3::WifiPhyHelper::GetRadiotapHeader ( RadiotapHeader header,
Ptr< Packet packet,
uint16_t  channelFreqMhz,
WifiTxVector  txVector,
MpduInfo  aMpdu,
uint16_t  staId 
)
staticprivate

Get the Radiotap header for a transmitted packet.

Parameters
headerthe radiotap header to be filled in
packetthe packet
channelFreqMhzthe channel frequency
txVectorthe TXVECTOR
aMpduthe A-MPDU information
staIdthe STA-ID

Definition at line 305 of file wifi-helper.cc.

References ns3::RadiotapHeader::A_MPDU_STATUS_LAST, ns3::RadiotapHeader::A_MPDU_STATUS_LAST_KNOWN, ns3::RadiotapHeader::A_MPDU_STATUS_NONE, ns3::RadiotapHeader::CHANNEL_FLAG_CCK, ns3::RadiotapHeader::CHANNEL_FLAG_OFDM, ns3::RadiotapHeader::CHANNEL_FLAG_SPECTRUM_2GHZ, ns3::RadiotapHeader::CHANNEL_FLAG_SPECTRUM_5GHZ, ns3::Packet::CreateFragment(), ns3::RadiotapHeader::FRAME_FLAG_FCS_INCLUDED, ns3::RadiotapHeader::FRAME_FLAG_NONE, ns3::RadiotapHeader::FRAME_FLAG_SHORT_GUARD, ns3::RadiotapHeader::FRAME_FLAG_SHORT_PREAMBLE, ns3::WifiTxVector::GetBssColor(), ns3::WifiTxVector::GetChannelWidth(), ns3::WifiMode::GetDataRate(), ns3::AmpduSubframeHeader::GetEof(), ns3::WifiTxVector::GetGuardInterval(), ns3::WifiTxVector::GetHeMuUserInfo(), ns3::HeRu::RuSpec::GetIndex(), ns3::AmpduSubframeHeader::GetLength(), ns3::WifiMode::GetMcsValue(), ns3::WifiTxVector::GetMode(), ns3::WifiMode::GetModulationClass(), ns3::WifiTxVector::GetNess(), ns3::WifiTxVector::GetNss(), ns3::WifiTxVector::GetPreambleType(), ns3::HeRu::RuSpec::GetPrimary80MHz(), ns3::HeRu::RuSpec::GetRuType(), ns3::RadiotapHeader::HE_DATA1_BSS_COLOR_KNOWN, ns3::RadiotapHeader::HE_DATA1_BW_RU_ALLOC_KNOWN, ns3::RadiotapHeader::HE_DATA1_DATA_MCS_KNOWN, ns3::RadiotapHeader::HE_DATA1_FORMAT_EXT_SU, ns3::RadiotapHeader::HE_DATA1_FORMAT_MU, ns3::RadiotapHeader::HE_DATA1_FORMAT_TRIG, ns3::RadiotapHeader::HE_DATA1_SPTL_REUSE2_KNOWN, ns3::RadiotapHeader::HE_DATA2_GI_KNOWN, ns3::RadiotapHeader::HE_DATA2_RU_OFFSET_KNOWN, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_106T, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_160MHZ, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_242T, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_26T, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_2x996T, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_40MHZ, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_484T, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_52T, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_80MHZ, ns3::RadiotapHeader::HE_DATA5_DATA_BW_RU_ALLOC_996T, ns3::RadiotapHeader::HE_DATA5_GI_1_6, ns3::RadiotapHeader::HE_DATA5_GI_3_2, ns3::WifiTxVector::IsAggregation(), ns3::WifiTxVector::IsStbc(), ns3::LAST_MPDU_IN_AGGREGATE, ns3::RadiotapHeader::MCS_FLAGS_BANDWIDTH_40, ns3::RadiotapHeader::MCS_FLAGS_GUARD_INTERVAL, ns3::RadiotapHeader::MCS_FLAGS_NESS_BIT_0, ns3::RadiotapHeader::MCS_FLAGS_NONE, ns3::RadiotapHeader::MCS_FLAGS_STBC_STREAMS, ns3::RadiotapHeader::MCS_KNOWN_BANDWIDTH, ns3::RadiotapHeader::MCS_KNOWN_FEC_TYPE, ns3::RadiotapHeader::MCS_KNOWN_GUARD_INTERVAL, ns3::RadiotapHeader::MCS_KNOWN_HT_FORMAT, ns3::RadiotapHeader::MCS_KNOWN_INDEX, ns3::RadiotapHeader::MCS_KNOWN_NESS, ns3::RadiotapHeader::MCS_KNOWN_NESS_BIT_1, ns3::RadiotapHeader::MCS_KNOWN_NONE, ns3::RadiotapHeader::MCS_KNOWN_STBC, ns3::MpduInfo::mpduRefNumber, ns3::Simulator::Now(), NS_ABORT_MSG, ns3::Packet::RemoveHeader(), ns3::HeMuUserInfo::ru, ns3::HeRu::RU_106_TONE, ns3::HeRu::RU_242_TONE, ns3::HeRu::RU_26_TONE, ns3::HeRu::RU_2x996_TONE, ns3::HeRu::RU_484_TONE, ns3::HeRu::RU_52_TONE, ns3::HeRu::RU_996_TONE, ns3::RadiotapHeader::SetAmpduStatus(), ns3::RadiotapHeader::SetChannelFrequencyAndFlags(), ns3::RadiotapHeader::SetFrameFlags(), ns3::RadiotapHeader::SetHeFields(), ns3::RadiotapHeader::SetHeMuFields(), ns3::RadiotapHeader::SetHeMuPerUserFields(), ns3::RadiotapHeader::SetMcsFields(), ns3::RadiotapHeader::SetRate(), ns3::RadiotapHeader::SetTsft(), ns3::RadiotapHeader::SetVhtFields(), ns3::MpduInfo::type, ns3::RadiotapHeader::VHT_FLAGS_GUARD_INTERVAL, ns3::RadiotapHeader::VHT_FLAGS_NONE, ns3::RadiotapHeader::VHT_FLAGS_STBC, ns3::RadiotapHeader::VHT_KNOWN_BANDWIDTH, ns3::RadiotapHeader::VHT_KNOWN_BEAMFORMED, ns3::RadiotapHeader::VHT_KNOWN_GUARD_INTERVAL, ns3::RadiotapHeader::VHT_KNOWN_NONE, ns3::RadiotapHeader::VHT_KNOWN_STBC, ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_MOD_CLASS_HT, ns3::WIFI_MOD_CLASS_VHT, ns3::WIFI_PREAMBLE_HE_ER_SU, ns3::WIFI_PREAMBLE_HE_MU, ns3::WIFI_PREAMBLE_HE_TB, and ns3::WIFI_PREAMBLE_SHORT.

Referenced by GetRadiotapHeader(), PcapSniffRxEvent(), and PcapSniffTxEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetRadiotapHeader() [2/2]

void ns3::WifiPhyHelper::GetRadiotapHeader ( RadiotapHeader header,
Ptr< Packet packet,
uint16_t  channelFreqMhz,
WifiTxVector  txVector,
MpduInfo  aMpdu,
uint16_t  staId,
SignalNoiseDbm  signalNoise 
)
staticprivate

Get the Radiotap header for a received packet.

Parameters
headerthe radiotap header to be filled in
packetthe packet
channelFreqMhzthe channel frequency
txVectorthe TXVECTOR
aMpduthe A-MPDU information
staIdthe STA-ID
signalNoisethe rx signal and noise information

Definition at line 290 of file wifi-helper.cc.

References GetRadiotapHeader(), ns3::SignalNoiseDbm::noise, ns3::RadiotapHeader::SetAntennaNoisePower(), ns3::RadiotapHeader::SetAntennaSignalPower(), and ns3::SignalNoiseDbm::signal.

+ Here is the call graph for this function:

◆ PcapSniffRxEvent()

void ns3::WifiPhyHelper::PcapSniffRxEvent ( Ptr< PcapFileWrapper file,
Ptr< const Packet packet,
uint16_t  channelFreqMhz,
WifiTxVector  txVector,
MpduInfo  aMpdu,
SignalNoiseDbm  signalNoise,
uint16_t  staId = SU_STA_ID 
)
staticprotected
Parameters
filethe pcap file wrapper
packetthe packet
channelFreqMhzthe channel frequency
txVectorthe TXVECTOR
aMpduthe A-MPDU information
signalNoisethe RX signal and noise information
staIdthe STA-ID (only used for MU)

Handle RX pcap.

Definition at line 255 of file wifi-helper.cc.

References ns3::Packet::AddHeader(), ns3::Packet::Copy(), ns3::PcapHelper::DLT_IEEE802_11, ns3::PcapHelper::DLT_IEEE802_11_RADIO, ns3::PcapHelper::DLT_PRISM_HEADER, create-module::file, GetRadiotapHeader(), ns3::Simulator::Now(), NS_ABORT_MSG, and NS_FATAL_ERROR.

Referenced by ns3::YansWavePhyHelper::EnablePcapInternal(), and EnablePcapInternal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PcapSniffTxEvent()

void ns3::WifiPhyHelper::PcapSniffTxEvent ( Ptr< PcapFileWrapper file,
Ptr< const Packet packet,
uint16_t  channelFreqMhz,
WifiTxVector  txVector,
MpduInfo  aMpdu,
uint16_t  staId = SU_STA_ID 
)
staticprotected
Parameters
filethe pcap file wrapper
packetthe packet
channelFreqMhzthe channel frequency
txVectorthe TXVECTOR
aMpduthe A-MPDU information
staIdthe STA-ID (only used for MU)

Handle TX pcap.

Definition at line 221 of file wifi-helper.cc.

References ns3::Packet::AddHeader(), ns3::Packet::Copy(), ns3::PcapHelper::DLT_IEEE802_11, ns3::PcapHelper::DLT_IEEE802_11_RADIO, ns3::PcapHelper::DLT_PRISM_HEADER, create-module::file, GetRadiotapHeader(), ns3::Simulator::Now(), NS_ABORT_MSG, and NS_FATAL_ERROR.

Referenced by ns3::YansWavePhyHelper::EnablePcapInternal(), and EnablePcapInternal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Set()

void ns3::WifiPhyHelper::Set ( std::string  name,
const AttributeValue v 
)
Parameters
namethe name of the attribute to set
vthe value of the attribute

Set an attribute of the underlying PHY object.

Definition at line 140 of file wifi-helper.cc.

References m_phy, and ns3::ObjectFactory::Set().

Referenced by BatteryLifetimeTest::ConstantLoadTest(), Bug772ChainTest::CreateDevices(), BasicEnergyDepletionTest::DepletionTestCase(), Bug2843TestCase::DoRun(), TestUlOfdmaPowerControl::DoSetup(), RoutingExperiment::Run(), VanetRoutingExperiment::SetupAdhocDevices(), and BatteryLifetimeTest::VariableLoadTest().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetErrorRateModel()

void ns3::WifiPhyHelper::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 () 
)
Parameters
namethe name of the error rate model to set.
n0the name of the attribute to set
v0the value of the attribute to set
n1the name of the attribute to set
v1the value of the attribute to set
n2the name of the attribute to set
v2the value of the attribute to set
n3the name of the attribute to set
v3the value of the attribute to set
n4the name of the attribute to set
v4the value of the attribute to set
n5the name of the attribute to set
v5the value of the attribute to set
n6the name of the attribute to set
v6the value of the attribute to set
n7the name of the attribute to set
v7the value of the attribute to set

Set the error rate model and its attributes to use when Install is called.

Definition at line 146 of file wifi-helper.cc.

References m_errorRateModel, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

Referenced by ns3::SpectrumWifiPhyHelper::SpectrumWifiPhyHelper(), ns3::YansWifiPhyHelper::YansWifiPhyHelper(), ChainRegressionTest::CreateDevices(), Bug772ChainTest::CreateDevices(), HwmpProactiveRegressionTest::CreateDevices(), HwmpReactiveRegressionTest::CreateDevices(), HwmpDoRfRegressionTest::CreateDevices(), FlameRegressionTest::CreateDevices(), ns3::YansWavePhyHelper::Default(), Bug2843TestCase::DoRun(), and TestUlOfdmaPowerControl::DoSetup().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetFrameCaptureModel()

void ns3::WifiPhyHelper::SetFrameCaptureModel ( 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 () 
)
Parameters
namethe name of the frame capture model to set.
n0the name of the attribute to set
v0the value of the attribute to set
n1the name of the attribute to set
v1the value of the attribute to set
n2the name of the attribute to set
v2the value of the attribute to set
n3the name of the attribute to set
v3the value of the attribute to set
n4the name of the attribute to set
v4the value of the attribute to set
n5the name of the attribute to set
v5the value of the attribute to set
n6the name of the attribute to set
v6the value of the attribute to set
n7the name of the attribute to set
v7the value of the attribute to set

Set the frame capture model and its attributes to use when Install is called.

Definition at line 169 of file wifi-helper.cc.

References m_frameCaptureModel, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

+ Here is the call graph for this function:

◆ SetPcapDataLinkType()

void ns3::WifiPhyHelper::SetPcapDataLinkType ( SupportedPcapDataLinkTypes  dlt)

Set the data link type of PCAP traces to be used.

This function has to be called before EnablePcap(), so that the header of the pcap file can be written correctly.

See also
SupportedPcapDataLinkTypes
Parameters
dltThe data link type of the pcap file (and packets) to be used

Definition at line 573 of file wifi-helper.cc.

References ns3::PcapHelper::DLT_IEEE802_11, DLT_IEEE802_11, ns3::PcapHelper::DLT_IEEE802_11_RADIO, DLT_IEEE802_11_RADIO, ns3::PcapHelper::DLT_PRISM_HEADER, DLT_PRISM_HEADER, m_pcapDlt, and NS_ABORT_MSG.

Referenced by BatteryLifetimeTest::ConstantLoadTest(), WaveNetDeviceExample::CreateWaveNodes(), BasicEnergyDepletionTest::DepletionTestCase(), WifiMsduAggregatorThroughputTest::DoRun(), VanetRoutingExperiment::SetupAdhocDevices(), and BatteryLifetimeTest::VariableLoadTest().

+ Here is the caller graph for this function:

◆ SetPreambleDetectionModel()

void ns3::WifiPhyHelper::SetPreambleDetectionModel ( 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 () 
)
Parameters
namethe name of the preamble detection model to set.
n0the name of the attribute to set
v0the value of the attribute to set
n1the name of the attribute to set
v1the value of the attribute to set
n2the name of the attribute to set
v2the value of the attribute to set
n3the name of the attribute to set
v3the value of the attribute to set
n4the name of the attribute to set
v4the value of the attribute to set
n5the name of the attribute to set
v5the value of the attribute to set
n6the name of the attribute to set
v6the value of the attribute to set
n7the name of the attribute to set
v7the value of the attribute to set

Set the preamble detection model and its attributes to use when Install is called.

Definition at line 192 of file wifi-helper.cc.

References m_preambleDetectionModel, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

Referenced by WifiPhyHelper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_errorRateModel

ObjectFactory ns3::WifiPhyHelper::m_errorRateModel
protected

error rate model

Definition at line 237 of file wifi-helper.h.

Referenced by ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), and SetErrorRateModel().

◆ m_frameCaptureModel

ObjectFactory ns3::WifiPhyHelper::m_frameCaptureModel
protected

frame capture model

Definition at line 238 of file wifi-helper.h.

Referenced by ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), and SetFrameCaptureModel().

◆ m_pcapDlt

PcapHelper::DataLinkType ns3::WifiPhyHelper::m_pcapDlt
private

PCAP data link type.

Definition at line 311 of file wifi-helper.h.

Referenced by EnablePcapInternal(), GetPcapDataLinkType(), and SetPcapDataLinkType().

◆ m_phy

◆ m_preambleDetectionModel

ObjectFactory ns3::WifiPhyHelper::m_preambleDetectionModel
protected

The documentation for this class was generated from the following files: