create PHY objects More...
#include "wifi-helper.h"
Classes | |
struct | PcapFilesInfo |
structure holding the information about PCAP files generated for a given device More... | |
Public Types | |
enum class | PcapCaptureType { PCAP_PER_DEVICE , PCAP_PER_PHY , PCAP_PER_LINK } |
An enumeration of the PCAP capture types. More... | |
enum | SupportedPcapDataLinkTypes { DLT_IEEE802_11 , DLT_PRISM_HEADER , DLT_IEEE802_11_RADIO } |
An enumeration of the pcap data link types (DLTs) which this helper supports. More... | |
Public Member Functions | |
WifiPhyHelper (uint8_t nLinks=1) | |
Constructor. | |
~WifiPhyHelper () override | |
virtual std::vector< Ptr< WifiPhy > > | Create (Ptr< Node > node, Ptr< WifiNetDevice > device) const =0 |
void | DisablePreambleDetectionModel () |
Disable the preamble detection model on all links. | |
PcapCaptureType | GetPcapCaptureType () const |
Get the PCAP capture type to be used. | |
PcapHelper::DataLinkType | GetPcapDataLinkType () const |
Get the data link type of PCAP traces to be used. | |
void | Set (std::string name, const AttributeValue &v) |
void | Set (uint8_t linkId, std::string name, const AttributeValue &v) |
template<typename... Args> | |
void | SetErrorRateModel (std::string type, Args &&... args) |
Helper function used to set the error rate model. | |
template<typename... Args> | |
void | SetErrorRateModel (uint8_t linkId, std::string type, Args &&... args) |
template<typename... Args> | |
void | SetFrameCaptureModel (std::string type, Args &&... args) |
Helper function used to set the frame capture model. | |
template<typename... Args> | |
void | SetFrameCaptureModel (uint8_t linkId, std::string type, Args &&... args) |
template<typename... Args> | |
void | SetInterferenceHelper (std::string type, Args &&... args) |
Helper function used to set the interference helper. | |
void | SetPcapCaptureType (PcapCaptureType type) |
Set the PCAP capture type to be used. | |
void | SetPcapDataLinkType (SupportedPcapDataLinkTypes dlt) |
Set the data link type of PCAP traces to be used. | |
template<typename... Args> | |
void | SetPreambleDetectionModel (std::string type, Args &&... args) |
Helper function used to set the preamble detection model. | |
template<typename... Args> | |
void | SetPreambleDetectionModel (uint8_t linkId, std::string type, Args &&... args) |
Public Member Functions inherited from ns3::PcapHelperForDevice | |
PcapHelperForDevice () | |
Construct a PcapHelperForDevice. | |
virtual | ~PcapHelperForDevice () |
Destroy a PcapHelperForDevice. | |
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. | |
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. | |
void | EnablePcap (std::string prefix, Ptr< NetDevice > nd, bool promiscuous=false, bool explicitFilename=false) |
Enable pcap output the indicated net device. | |
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. | |
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. | |
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. | |
Public Member Functions inherited from ns3::AsciiTraceHelperForDevice | |
AsciiTraceHelperForDevice () | |
Construct an AsciiTraceHelperForDevice. | |
virtual | ~AsciiTraceHelperForDevice () |
Destroy an AsciiTraceHelperForDevice. | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. | |
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. | |
void | EnableAscii (Ptr< OutputStreamWrapper > stream, Ptr< NetDevice > nd) |
Enable ascii trace output on the indicated net device. | |
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. | |
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. | |
void | EnableAscii (std::string prefix, NetDeviceContainer d) |
Enable ascii trace output on each device in the container which is of the appropriate type. | |
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. | |
void | EnableAscii (std::string prefix, Ptr< NetDevice > nd, bool explicitFilename=false) |
Enable ascii trace output on the indicated net device. | |
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. | |
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. | |
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. | |
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. | |
Static Protected Member Functions | |
static void | PcapSniffRxEvent (const std::shared_ptr< PcapFilesInfo > &info, uint8_t phyId, Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise, uint16_t staId=SU_STA_ID) |
static void | PcapSniffTxEvent (const std::shared_ptr< PcapFilesInfo > &info, uint8_t phyId, Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, uint16_t staId=SU_STA_ID) |
Protected Attributes | |
std::vector< ObjectFactory > | m_errorRateModel |
error rate model | |
std::vector< ObjectFactory > | m_frameCaptureModel |
frame capture model | |
ObjectFactory | m_interferenceHelper |
interference helper | |
std::vector< ObjectFactory > | m_phys |
PHY objects. | |
std::vector< ObjectFactory > | m_preambleDetectionModel |
preamble detection model | |
Private Member Functions | |
void | EnableAsciiInternal (Ptr< OutputStreamWrapper > stream, std::string prefix, Ptr< NetDevice > nd, bool explicitFilename) override |
Enable ASCII trace output on the indicated net device. | |
void | EnablePcapInternal (std::string prefix, Ptr< NetDevice > nd, bool promiscuous, bool explicitFilename) override |
Enable pcap output the indicated net device. | |
Static Private Member Functions | |
static Ptr< PcapFileWrapper > | GetOrCreatePcapFile (const std::shared_ptr< PcapFilesInfo > &info, uint8_t phyId) |
Get the PCAP file to write to from a list of PCAP files indexed by PHY ID. | |
static void | GetRadiotapHeader (RadiotapHeader &header, Ptr< Packet > packet, uint16_t channelFreqMhz, uint8_t p20Index, const WifiTxVector &txVector, MpduInfo aMpdu, uint16_t staId) |
Get the Radiotap header for a transmitted packet. | |
static void | GetRadiotapHeader (RadiotapHeader &header, Ptr< Packet > packet, uint16_t channelFreqMhz, uint8_t p20Index, const WifiTxVector &txVector, MpduInfo aMpdu, uint16_t staId, SignalNoiseDbm signalNoise) |
Get the Radiotap header for a received packet. | |
Private Attributes | |
PcapHelper::DataLinkType | m_pcapDlt |
PCAP data link type. | |
PcapCaptureType | m_pcapType |
PCAP capture type. | |
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 38 of file wifi-helper.h.
|
strong |
An enumeration of the PCAP capture types.
The PCAP capture type only matters for multi-link devices.
Enumerator | |
---|---|
PCAP_PER_DEVICE | Single capture file per device. |
PCAP_PER_PHY | Single capture file per PHY. |
PCAP_PER_LINK | Single capture file per link. |
Definition at line 176 of file wifi-helper.h.
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 162 of file wifi-helper.h.
ns3::WifiPhyHelper::WifiPhyHelper | ( | uint8_t | nLinks = 1 | ) |
Constructor.
nLinks | the number of links to configure (>1 only for 11be devices) |
Definition at line 155 of file wifi-helper.cc.
References m_errorRateModel, m_frameCaptureModel, m_phys, m_preambleDetectionModel, NS_ABORT_IF, and SetPreambleDetectionModel().
|
override |
Definition at line 168 of file wifi-helper.cc.
|
pure virtual |
node | the node on which the PHY object(s) will reside |
device | the device within which the PHY object(s) will reside |
Subclasses must implement this method to allow the ns3::WifiHelper class to create PHY objects from ns3::WifiHelper::Install.
Implemented in ns3::SpectrumWifiPhyHelper, and ns3::YansWifiPhyHelper.
Referenced by ns3::MeshHelper::CreateInterface(), and ns3::WifiHelper::Install().
void ns3::WifiPhyHelper::DisablePreambleDetectionModel | ( | ) |
Disable the preamble detection model on all links.
Definition at line 188 of file wifi-helper.cc.
References m_phys, and m_preambleDetectionModel.
Referenced by Bug772ChainTest::CreateDevices(), ChainRegressionTest::CreateDevices(), FlameRegressionTest::CreateDevices(), HwmpDoRfRegressionTest::CreateDevices(), HwmpProactiveRegressionTest::CreateDevices(), and HwmpReactiveRegressionTest::CreateDevices().
|
overrideprivatevirtual |
Enable ASCII trace output on the indicated net device.
NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.
stream | The output stream object to use when logging ASCII traces. |
prefix | Filename prefix to use for ASCII trace files. |
nd | Net device for which you want to enable tracing. |
explicitFilename | Treat the prefix as an explicit filename if true |
Implements ns3::AsciiTraceHelperForDevice.
Definition at line 864 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::MakeBoundCallback(), and NS_LOG_INFO.
|
overrideprivatevirtual |
Enable pcap output the indicated net device.
NetDevice-specific implementation mechanism for hooking the trace and writing to the trace file.
prefix | Filename prefix to use for pcap files. |
nd | Net device for which you want to enable tracing. |
promiscuous | If true capture all possible packets available at the device. |
explicitFilename | Treat the prefix as an explicit filename if true |
Implements ns3::PcapHelperForDevice.
Definition at line 819 of file wifi-helper.cc.
References ns3::PcapHelper::GetFilenameFromDevice(), m_pcapDlt, m_pcapType, ns3::MakeBoundCallback(), NS_ABORT_MSG_IF, NS_LOG_FUNCTION, NS_LOG_INFO, PcapSniffRxEvent(), and PcapSniffTxEvent().
|
staticprivate |
Get the PCAP file to write to from a list of PCAP files indexed by PHY ID.
If PCAP files are generated per link, it might create a new file if a link has swapped to a new ID.
info | the information needed to write to the correct PCAP file |
phyId | the ID of the PHY that raised the event |
Definition at line 195 of file wifi-helper.cc.
References ns3::PcapHelper::CreateFile(), NS_ABORT_MSG, PCAP_PER_DEVICE, PCAP_PER_LINK, and PCAP_PER_PHY.
Referenced by PcapSniffRxEvent(), and PcapSniffTxEvent().
WifiPhyHelper::PcapCaptureType ns3::WifiPhyHelper::GetPcapCaptureType | ( | ) | const |
Get the PCAP capture type to be used.
Definition at line 813 of file wifi-helper.cc.
References m_pcapType.
PcapHelper::DataLinkType ns3::WifiPhyHelper::GetPcapDataLinkType | ( | ) | const |
Get the data link type of PCAP traces to be used.
Definition at line 801 of file wifi-helper.cc.
References m_pcapDlt.
|
staticprivate |
Get the Radiotap header for a transmitted packet.
header | the radiotap header to be filled in |
packet | the packet |
channelFreqMhz | the channel frequency |
p20Index | the index of the primary20 channel |
txVector | the TXVECTOR |
aMpdu | the A-MPDU information |
staId | the STA-ID |
Definition at line 345 of file wifi-helper.cc.
References ns3::RadiotapHeader::A_MPDU_STATUS_LAST, ns3::RadiotapHeader::A_MPDU_STATUS_LAST_KNOWN, ns3::RadiotapHeader::CHANNEL_FLAG_CCK, ns3::RadiotapHeader::CHANNEL_FLAG_OFDM, ns3::RadiotapHeader::CHANNEL_FLAG_SPECTRUM_2GHZ, ns3::RadiotapHeader::CHANNEL_FLAG_SPECTRUM_5GHZ, ns3::RadiotapHeader::UsigFields::common, ns3::RadiotapHeader::HeFields::data1, ns3::RadiotapHeader::EHT_DATA0_GI, ns3::RadiotapHeader::EHT_DATA0_GI_1600_NS, ns3::RadiotapHeader::EHT_DATA0_GI_3200_NS, ns3::RadiotapHeader::EHT_DATA0_GI_800_NS, ns3::RadiotapHeader::EHT_DATA1_PRIMARY_80, ns3::RadiotapHeader::EHT_DATA1_PRIMARY_80_HIGHEST, ns3::RadiotapHeader::EHT_DATA1_PRIMARY_80_LOWEST, ns3::RadiotapHeader::EHT_DATA1_RU_ALLOC_CC_1_1_1, ns3::RadiotapHeader::EHT_DATA1_RU_ALLOC_CC_1_1_1_KNOWN, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_INDEX, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_SIZE, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_SIZE_106, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_SIZE_242, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_SIZE_26, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_SIZE_2x996, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_SIZE_484, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_SIZE_52, ns3::RadiotapHeader::EHT_DATA1_RU_MRU_SIZE_996, ns3::RadiotapHeader::EHT_DATA2_RU_ALLOC_CC_1_1_2, ns3::RadiotapHeader::EHT_DATA2_RU_ALLOC_CC_1_1_2_KNOWN, ns3::RadiotapHeader::EHT_DATA2_RU_ALLOC_CC_2_1_1, ns3::RadiotapHeader::EHT_DATA2_RU_ALLOC_CC_2_1_1_KNOWN, ns3::RadiotapHeader::EHT_DATA2_RU_ALLOC_CC_2_1_2, ns3::RadiotapHeader::EHT_DATA2_RU_ALLOC_CC_2_1_2_KNOWN, ns3::RadiotapHeader::EHT_DATA3_RU_ALLOC_CC_1_2_1, ns3::RadiotapHeader::EHT_DATA3_RU_ALLOC_CC_1_2_1_KNOWN, ns3::RadiotapHeader::EHT_DATA3_RU_ALLOC_CC_1_2_2, ns3::RadiotapHeader::EHT_DATA3_RU_ALLOC_CC_1_2_2_KNOWN, ns3::RadiotapHeader::EHT_DATA3_RU_ALLOC_CC_2_2_1, ns3::RadiotapHeader::EHT_DATA3_RU_ALLOC_CC_2_2_1_KNOWN, ns3::RadiotapHeader::EHT_DATA4_RU_ALLOC_CC_2_2_2, ns3::RadiotapHeader::EHT_DATA4_RU_ALLOC_CC_2_2_2_KNOWN, ns3::RadiotapHeader::EHT_KNOWN_GI, ns3::RadiotapHeader::EHT_KNOWN_PRIMARY_80, ns3::RadiotapHeader::EHT_KNOWN_RU_MRU_INDEX_OM, ns3::RadiotapHeader::EHT_KNOWN_RU_MRU_SIZE_OM, ns3::RadiotapHeader::EHT_USER_INFO_DATA_FOR_USER, ns3::RadiotapHeader::EHT_USER_INFO_MCS, ns3::RadiotapHeader::EHT_USER_INFO_MCS_KNOWN, ns3::RadiotapHeader::EHT_USER_INFO_NSS_KNOWN_O, ns3::RadiotapHeader::EHT_USER_INFO_NSS_O, ns3::RadiotapHeader::EHT_USER_INFO_STA_ID, ns3::RadiotapHeader::EHT_USER_INFO_STA_ID_KNOWN, ns3::RadiotapHeader::FRAME_FLAG_FCS_INCLUDED, ns3::RadiotapHeader::FRAME_FLAG_NONE, ns3::RadiotapHeader::FRAME_FLAG_SHORT_GUARD, ns3::RadiotapHeader::FRAME_FLAG_SHORT_PREAMBLE, ns3::RadiotapHeader::ChannelFields::frequency, ns3::WifiTxVector::GetBssColor(), ns3::WifiTxVector::GetChannelWidth(), ns3::WifiMode::GetDataRate(), ns3::WifiTxVector::GetEhtPpduType(), ns3::AmpduSubframeHeader::GetEof(), ns3::WifiTxVector::GetGuardInterval(), ns3::WifiTxVector::GetHeMuUserInfo(), ns3::WifiTxVector::GetInactiveSubchannels(), ns3::HeRu::RuSpec::GetIndex(), ns3::AmpduSubframeHeader::GetLength(), ns3::WifiMode::GetMcsValue(), ns3::WifiTxVector::GetMode(), ns3::WifiTxVector::GetModulationClass(), ns3::WifiTxVector::GetNess(), ns3::WifiTxVector::GetNss(), ns3::WifiTxVector::GetPreambleType(), ns3::HeRu::RuSpec::GetPrimary80MHz(), ns3::EhtPpdu::GetPuncturedInfo(), ns3::WifiTxVector::GetRu(), ns3::WifiTxVector::GetRuAllocation(), ns3::HeRu::GetRuType(), ns3::HeRu::RuSpec::GetRuType(), ns3::WifiTxVector::GetSigBMode(), 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_PRISEC_80_SEC, ns3::RadiotapHeader::HE_DATA2_RU_OFFSET, ns3::RadiotapHeader::HE_DATA2_RU_OFFSET_KNOWN, ns3::RadiotapHeader::HE_DATA3_BSS_COLOR, ns3::RadiotapHeader::HE_DATA3_DATA_MCS, ns3::RadiotapHeader::HE_DATA4_MU_STA_ID, 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::IsDlMu(), ns3::IsEht(), ns3::WifiTxVector::IsStbc(), ns3::RadiotapHeader::EhtFields::known, ns3::RadiotapHeader::VhtFields::known, ns3::LAST_MPDU_IN_AGGREGATE, ns3::RadiotapHeader::McsFields::mcs, ns3::RadiotapHeader::MCS_FLAGS_BANDWIDTH_40, ns3::RadiotapHeader::MCS_FLAGS_GUARD_INTERVAL, ns3::RadiotapHeader::MCS_FLAGS_NESS_BIT_0, 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_STBC, ns3::MpduInfo::mpduRefNumber, ns3::Simulator::Now(), NS_ABORT_MSG, ns3::RadiotapHeader::AmpduStatusFields::referenceNumber, 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::SetChannelFields(), ns3::RadiotapHeader::SetEhtFields(), ns3::RadiotapHeader::SetFrameFlags(), ns3::RadiotapHeader::SetHeFields(), ns3::RadiotapHeader::SetHeMuFields(), ns3::RadiotapHeader::SetHeMuOtherUserFields(), ns3::RadiotapHeader::SetMcsFields(), ns3::RadiotapHeader::SetRate(), ns3::RadiotapHeader::SetTsft(), ns3::RadiotapHeader::SetUsigFields(), ns3::RadiotapHeader::SetVhtFields(), ns3::MpduInfo::type, ns3::RadiotapHeader::USIG2_MU_B0_B1_PPDU_TYPE, ns3::RadiotapHeader::USIG2_MU_B3_B7_PUNCTURED_INFO, ns3::RadiotapHeader::USIG2_MU_B9_B10_SIG_MCS, ns3::RadiotapHeader::USIG2_TB_B0_B1_PPDU_TYPE, ns3::RadiotapHeader::USIG_COMMON_BSS_COLOR, ns3::RadiotapHeader::USIG_COMMON_BSS_COLOR_KNOWN, ns3::RadiotapHeader::USIG_COMMON_BW, ns3::RadiotapHeader::USIG_COMMON_BW_160MHZ, ns3::RadiotapHeader::USIG_COMMON_BW_20MHZ, ns3::RadiotapHeader::USIG_COMMON_BW_40MHZ, ns3::RadiotapHeader::USIG_COMMON_BW_80MHZ, ns3::RadiotapHeader::USIG_COMMON_BW_KNOWN, ns3::RadiotapHeader::USIG_COMMON_PHY_VER_KNOWN, ns3::RadiotapHeader::VHT_FLAGS_GUARD_INTERVAL, 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_STBC, ns3::WIFI_MOD_CLASS_HE, ns3::WIFI_MOD_CLASS_HT, ns3::WIFI_MOD_CLASS_VHT, ns3::WIFI_PREAMBLE_EHT_MU, 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().
|
staticprivate |
Get the Radiotap header for a received packet.
header | the radiotap header to be filled in |
packet | the packet |
channelFreqMhz | the channel frequency |
p20Index | the index of the primary20 channel |
txVector | the TXVECTOR |
aMpdu | the A-MPDU information |
staId | the STA-ID |
signalNoise | the rx signal and noise information |
Definition at line 330 of file wifi-helper.cc.
References GetRadiotapHeader(), ns3::SignalNoiseDbm::noise, ns3::RadiotapHeader::SetAntennaNoisePower(), ns3::RadiotapHeader::SetAntennaSignalPower(), and ns3::SignalNoiseDbm::signal.
|
staticprotected |
info | the information needed to write to the correct PCAP file |
phyId | the ID of the PHY that raised the event |
packet | the packet |
channelFreqMhz | the channel frequency |
txVector | the TXVECTOR |
aMpdu | the A-MPDU information |
signalNoise | the RX signal and noise information |
staId | the STA-ID (only used for MU) |
Handle RX pcap.
Definition at line 286 of file wifi-helper.cc.
References ns3::PcapHelper::DLT_IEEE802_11, ns3::PcapHelper::DLT_IEEE802_11_RADIO, ns3::PcapHelper::DLT_PRISM_HEADER, GetOrCreatePcapFile(), GetRadiotapHeader(), ns3::Simulator::Now(), NS_ABORT_MSG, and NS_FATAL_ERROR.
Referenced by EnablePcapInternal().
|
staticprotected |
info | the information needed to write to the correct PCAP file |
phyId | the ID of the PHY that raised the event |
packet | the packet |
channelFreqMhz | the channel frequency |
txVector | the TXVECTOR |
aMpdu | the A-MPDU information |
staId | the STA-ID (only used for MU) |
Handle TX pcap.
Definition at line 244 of file wifi-helper.cc.
References ns3::PcapHelper::DLT_IEEE802_11, ns3::PcapHelper::DLT_IEEE802_11_RADIO, ns3::PcapHelper::DLT_PRISM_HEADER, GetOrCreatePcapFile(), GetRadiotapHeader(), ns3::Simulator::Now(), NS_ABORT_MSG, and NS_FATAL_ERROR.
Referenced by EnablePcapInternal().
void ns3::WifiPhyHelper::Set | ( | std::string | name, |
const AttributeValue & | v ) |
name | the name of the attribute to set |
v | the value of the attribute |
Set an attribute of all the underlying PHY object.
Definition at line 173 of file wifi-helper.cc.
References m_phys.
Referenced by BatteryLifetimeTest::ConstantLoadTest(), Bug772ChainTest::CreateDevices(), BasicEnergyDepletionTest::DepletionTestCase(), Bug2843TestCase::DoRun(), SpectrumWifiPhyInterfacesHelperTest::DoRun(), AidAssignmentTest::DoSetup(), BackoffGenerationTest::DoSetup(), EmlsrOperationsTestBase::DoSetup(), MultiLinkOperationsTestBase::DoSetup(), SpectrumWifiPhyMultipleInterfacesTest::DoSetup(), TestUlOfdmaPowerControl::DoSetup(), RoutingExperiment::Run(), MultiLinkOperationsTestBase::SetChannels(), and BatteryLifetimeTest::VariableLoadTest().
void ns3::WifiPhyHelper::Set | ( | uint8_t | linkId, |
std::string | name, | ||
const AttributeValue & | v ) |
name | the name of the attribute to set |
v | the value of the attribute |
linkId | ID of the link to configure (>0 only for 11be devices) |
Set an attribute of the given underlying PHY object.
Definition at line 182 of file wifi-helper.cc.
References m_phys.
void ns3::WifiPhyHelper::SetErrorRateModel | ( | std::string | type, |
Args &&... | args ) |
Helper function used to set the error rate model.
Args | [deduced] Template type parameter pack for the sequence of name-value pairs. |
type | the type of error rate model |
args | A sequence of name-value pairs of the attributes to set. |
Definition at line 634 of file wifi-helper.h.
References m_phys, and SetErrorRateModel().
Referenced by ns3::SpectrumWifiPhyHelper::SpectrumWifiPhyHelper(), ns3::YansWifiPhyHelper::YansWifiPhyHelper(), Bug772ChainTest::CreateDevices(), ChainRegressionTest::CreateDevices(), FlameRegressionTest::CreateDevices(), HwmpDoRfRegressionTest::CreateDevices(), HwmpProactiveRegressionTest::CreateDevices(), HwmpReactiveRegressionTest::CreateDevices(), Bug2843TestCase::DoRun(), TestUlOfdmaPowerControl::DoSetup(), and SetErrorRateModel().
void ns3::WifiPhyHelper::SetErrorRateModel | ( | uint8_t | linkId, |
std::string | type, | ||
Args &&... | args ) |
Args | [deduced] Template type parameter pack for the sequence of name-value pairs. |
linkId | ID of the link to configure (>0 only for 11be devices) |
type | the type of the error rate model to set. |
args | A sequence of name-value pairs of the attributes to set. |
Set the error rate model and its attributes to use for the given link when Install is called.
Definition at line 644 of file wifi-helper.h.
References m_errorRateModel.
void ns3::WifiPhyHelper::SetFrameCaptureModel | ( | std::string | type, |
Args &&... | args ) |
Helper function used to set the frame capture model.
Args | [deduced] Template type parameter pack for the sequence of name-value pairs. |
type | the type of frame capture model |
args | A sequence of name-value pairs of the attributes to set. |
Definition at line 652 of file wifi-helper.h.
References m_phys, and SetFrameCaptureModel().
Referenced by SetFrameCaptureModel().
void ns3::WifiPhyHelper::SetFrameCaptureModel | ( | uint8_t | linkId, |
std::string | type, | ||
Args &&... | args ) |
Args | [deduced] Template type parameter pack for the sequence of name-value pairs. |
linkId | ID of the link to configure (>0 only for 11be devices) |
type | the type of the frame capture model to set. |
args | A sequence of name-value pairs of the attributes to set. |
Set the frame capture model and its attributes to use for the given link when Install is called.
Definition at line 662 of file wifi-helper.h.
References m_frameCaptureModel.
void ns3::WifiPhyHelper::SetInterferenceHelper | ( | std::string | type, |
Args &&... | args ) |
Helper function used to set the interference helper.
Args | [deduced] Template type parameter pack for the sequence of name-value pairs. |
type | the type of interference helper |
args | A sequence of name-value pairs of the attributes to set. |
Definition at line 626 of file wifi-helper.h.
References m_interferenceHelper, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
Referenced by ns3::SpectrumWifiPhyHelper::SpectrumWifiPhyHelper(), ns3::YansWifiPhyHelper::YansWifiPhyHelper(), and SpectrumWifiPhyMultipleInterfacesTest::DoSetup().
void ns3::WifiPhyHelper::SetPcapCaptureType | ( | PcapCaptureType | type | ) |
Set the PCAP capture type to be used.
This function has to be called before EnablePcap().
type | The PCAP capture type |
Definition at line 807 of file wifi-helper.cc.
References m_pcapType.
Referenced by AidAssignmentTest::DoSetup(), EmlsrOperationsTestBase::DoSetup(), and MultiLinkOperationsTestBase::SetChannels().
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.
dlt | The data link type of the pcap file (and packets) to be used |
Definition at line 782 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(), BasicEnergyDepletionTest::DepletionTestCase(), WifiMsduAggregatorThroughputTest::DoRun(), AidAssignmentTest::DoSetup(), BackoffGenerationTest::DoSetup(), EmlsrOperationsTestBase::DoSetup(), SpectrumWifiPhyMultipleInterfacesTest::DoSetup(), MultiLinkOperationsTestBase::SetChannels(), and BatteryLifetimeTest::VariableLoadTest().
void ns3::WifiPhyHelper::SetPreambleDetectionModel | ( | std::string | type, |
Args &&... | args ) |
Helper function used to set the preamble detection model.
Args | [deduced] Template type parameter pack for the sequence of name-value pairs. |
type | the type of preamble detection model |
args | A sequence of name-value pairs of the attributes to set. |
Definition at line 670 of file wifi-helper.h.
References m_phys, and SetPreambleDetectionModel().
Referenced by WifiPhyHelper(), and SetPreambleDetectionModel().
void ns3::WifiPhyHelper::SetPreambleDetectionModel | ( | uint8_t | linkId, |
std::string | type, | ||
Args &&... | args ) |
Args | [deduced] Template type parameter pack for the sequence of name-value pairs. |
linkId | ID of the link to configure (>0 only for 11be devices) |
type | the type of the preamble detection model to set. |
args | A sequence of name-value pairs of the attributes to set. |
Set the preamble detection model and its attributes to use for the given link when Install is called.
Definition at line 680 of file wifi-helper.h.
References m_preambleDetectionModel.
|
protected |
error rate model
Definition at line 295 of file wifi-helper.h.
Referenced by WifiPhyHelper(), ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), and SetErrorRateModel().
|
protected |
frame capture model
Definition at line 296 of file wifi-helper.h.
Referenced by WifiPhyHelper(), ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), and SetFrameCaptureModel().
|
protected |
interference helper
Definition at line 294 of file wifi-helper.h.
Referenced by ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), and SetInterferenceHelper().
|
private |
PCAP data link type.
Definition at line 384 of file wifi-helper.h.
Referenced by EnablePcapInternal(), GetPcapDataLinkType(), and SetPcapDataLinkType().
|
private |
PCAP capture type.
Definition at line 385 of file wifi-helper.h.
Referenced by EnablePcapInternal(), GetPcapCaptureType(), and SetPcapCaptureType().
|
protected |
PHY objects.
Definition at line 293 of file wifi-helper.h.
Referenced by ns3::SpectrumWifiPhyHelper::SpectrumWifiPhyHelper(), WifiPhyHelper(), ns3::YansWifiPhyHelper::YansWifiPhyHelper(), ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), DisablePreambleDetectionModel(), Set(), Set(), SetErrorRateModel(), SetFrameCaptureModel(), and SetPreambleDetectionModel().
|
protected |
preamble detection model
Definition at line 297 of file wifi-helper.h.
Referenced by WifiPhyHelper(), ns3::SpectrumWifiPhyHelper::Create(), ns3::YansWifiPhyHelper::Create(), DisablePreambleDetectionModel(), and SetPreambleDetectionModel().