Radiotap header implementation. More...
#include "radiotap-header.h"
Public Member Functions | |
RadiotapHeader () | |
uint32_t | Deserialize (Buffer::Iterator start) override |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
uint32_t | GetSerializedSize () const override |
This method is used by Packet::AddHeader to store the header into the byte buffer of a packet. | |
void | Print (std::ostream &os) const override |
This method is used by Packet::Print to print the content of the header as ascii data to a C++ output stream. | |
void | Serialize (Buffer::Iterator start) const override |
This method is used by Packet::AddHeader to store the header into the byte buffer of a packet. | |
void | SetAmpduStatus (uint32_t referenceNumber, uint16_t flags, uint8_t crc) |
Set the A-MPDU status fields. | |
void | SetAntennaNoisePower (double noise) |
Set the RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference. | |
void | SetAntennaSignalPower (double signal) |
Set the RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference. | |
void | SetChannelFrequencyAndFlags (uint16_t frequency, uint16_t flags) |
Set the transmit/receive channel frequency and flags. | |
void | SetFrameFlags (uint8_t flags) |
Set the frame flags of the transmitted or received frame. | |
void | SetHeFields (uint16_t data1, uint16_t data2, uint16_t data3, uint16_t data4, uint16_t data5, uint16_t data6) |
Set the HE fields. | |
void | SetHeMuFields (uint16_t flags1, uint16_t flags2, const std::array< uint8_t, 4 > &ruChannel1, const std::array< uint8_t, 4 > &ruChannel2) |
Set the HE MU fields. | |
void | SetHeMuPerUserFields (uint16_t perUser1, uint16_t perUser2, uint8_t perUserPosition, uint8_t perUserKnown) |
Set the HE MU per user fields. | |
void | SetMcsFields (uint8_t known, uint8_t flags, uint8_t mcs) |
Set the MCS fields. | |
void | SetRate (uint8_t rate) |
Set the transmit/receive channel frequency in units of megahertz. | |
void | SetTsft (uint64_t tsft) |
Set the Time Synchronization Function Timer (TSFT) value. | |
void | SetVhtFields (uint16_t known, uint8_t flags, uint8_t bandwidth, uint8_t mcs_nss[4], uint8_t coding, uint8_t group_id, uint16_t partial_aid) |
Set the VHT fields. | |
Public Member Functions inherited from ns3::Header | |
~Header () override | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Header | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Chunk | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. | |
Private Types | |
enum | RadiotapFlags { RADIOTAP_TSFT = 0x00000001 , RADIOTAP_FLAGS = 0x00000002 , RADIOTAP_RATE = 0x00000004 , RADIOTAP_CHANNEL = 0x00000008 , RADIOTAP_FHSS = 0x00000010 , RADIOTAP_DBM_ANTSIGNAL = 0x00000020 , RADIOTAP_DBM_ANTNOISE = 0x00000040 , RADIOTAP_LOCK_QUALITY = 0x00000080 , RADIOTAP_TX_ATTENUATION = 0x00000100 , RADIOTAP_DB_TX_ATTENUATION = 0x00000200 , RADIOTAP_DBM_TX_POWER = 0x00000400 , RADIOTAP_ANTENNA = 0x00000800 , RADIOTAP_DB_ANTSIGNAL = 0x00001000 , RADIOTAP_DB_ANTNOISE = 0x00002000 , RADIOTAP_RX_FLAGS = 0x00004000 , RADIOTAP_MCS = 0x00080000 , RADIOTAP_AMPDU_STATUS = 0x00100000 , RADIOTAP_VHT = 0x00200000 , RADIOTAP_HE = 0x00800000 , RADIOTAP_HE_MU = 0x01000000 , RADIOTAP_HE_MU_OTHER_USER = 0x02000000 , RADIOTAP_ZERO_LEN_PSDU = 0x04000000 , RADIOTAP_LSIG = 0x08000000 , RADIOTAP_EXT = 0x80000000 } |
Radiotap flags. More... | |
Private Attributes | |
uint8_t | m_ampduStatusCRC |
A-MPDU Status Flags, delimiter CRC value. | |
uint16_t | m_ampduStatusFlags |
A-MPDU Status Flags, information about the received A-MPDU. | |
uint8_t | m_ampduStatusPad |
A-MPDU Status Flags, padding before A-MPDU Status Field. | |
uint32_t | m_ampduStatusRef |
A-MPDU Status Flags, reference number. | |
int8_t | m_antennaNoise |
RF noise power at the antenna, dB difference from an arbitrary, fixed reference. | |
int8_t | m_antennaSignal |
RF signal power at the antenna, dB difference from an arbitrary, fixed reference. | |
uint16_t | m_channelFlags |
Tx/Rx channel flags. | |
uint16_t | m_channelFreq |
Tx/Rx frequency in MHz. | |
uint8_t | m_channelPad |
Tx/Rx channel padding. | |
uint8_t | m_flags |
Properties of transmitted and received frames. | |
uint16_t | m_heData1 |
HE data1 field. | |
uint16_t | m_heData2 |
HE data2 field. | |
uint16_t | m_heData3 |
HE data3 field. | |
uint16_t | m_heData4 |
HE data4 field. | |
uint16_t | m_heData5 |
HE data5 field. | |
uint16_t | m_heData6 |
HE data6 field. | |
uint16_t | m_heMuFlags1 |
HE MU flags1 field. | |
uint16_t | m_heMuFlags2 |
HE MU flags2 field. | |
uint8_t | m_heMuOtherUserPad |
HE MU other user padding. | |
uint8_t | m_heMuPad |
HE MU padding. | |
uint16_t | m_heMuPerUser1 |
HE MU per_user_1 field. | |
uint16_t | m_heMuPerUser2 |
HE MU per_user_2 field. | |
uint8_t | m_heMuPerUserKnown |
HE MU per_user_known field. | |
uint8_t | m_heMuPerUserPosition |
HE MU per_user_position field. | |
uint8_t | m_hePad |
HE padding. | |
uint16_t | m_length |
entire length of radiotap data + header | |
uint8_t | m_mcsFlags |
MCS Flags, flags field. | |
uint8_t | m_mcsKnown |
MCS Flags, known information field. | |
uint8_t | m_mcsRate |
MCS Flags, mcs rate index. | |
uint32_t | m_present |
bits describing which fields follow header | |
uint8_t | m_rate |
TX/RX data rate in units of 500 kbps. | |
uint64_t | m_tsft |
Time Synchronization Function Timer (when the first bit of the MPDU arrived at the MAC) | |
uint8_t | m_vhtBandwidth |
VHT bandwidth field. | |
uint8_t | m_vhtCoding |
VHT coding field. | |
uint8_t | m_vhtFlags |
VHT flags field. | |
uint8_t | m_vhtGroupId |
VHT group_id field. | |
uint16_t | m_vhtKnown |
VHT known field. | |
uint8_t | m_vhtMcsNss [4] |
VHT mcs_nss field. | |
uint8_t | m_vhtPad |
VHT padding. | |
uint16_t | m_vhtPartialAid |
VHT partial_aid field. | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
Related Symbols inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Radiotap header implementation.
Radiotap is a de facto standard for 802.11 frame injection and reception. The radiotap header format is a mechanism to supply additional information about frames, from the driver to userspace applications such as libpcap, and from a userspace application to the driver for transmission.
Definition at line 26 of file radiotap-header.h.
A-MPDU status flags.
Definition at line 210 of file radiotap-header.h.
Channel flags.
Enumerator | |
---|---|
CHANNEL_FLAG_NONE | No flags set. |
CHANNEL_FLAG_TURBO | Turbo Channel. |
CHANNEL_FLAG_CCK | CCK channel. |
CHANNEL_FLAG_OFDM | OFDM channel. |
CHANNEL_FLAG_SPECTRUM_2GHZ | 2 GHz spectrum channel |
CHANNEL_FLAG_SPECTRUM_5GHZ | 5 GHz spectrum channel |
CHANNEL_FLAG_PASSIVE | Only passive scan allowed. |
CHANNEL_FLAG_DYNAMIC | Dynamic CCK-OFDM channel. |
CHANNEL_FLAG_GFSK | GFSK channel (FHSS PHY) |
Definition at line 124 of file radiotap-header.h.
Frame flags.
Definition at line 95 of file radiotap-header.h.
HE data1.
Definition at line 294 of file radiotap-header.h.
HE data2.
Definition at line 320 of file radiotap-header.h.
HE data5.
Definition at line 338 of file radiotap-header.h.
HE MU flags1.
Enumerator | |
---|---|
HE_MU_FLAGS1_SIGB_MCS | SIG-B MCS (from SIG-A) |
HE_MU_FLAGS1_SIGB_MCS_KNOWN | SIG-B MCS known. |
HE_MU_FLAGS1_SIGB_DCM | SIG-B DCM (from SIG-A) |
HE_MU_FLAGS1_SIGB_DCM_KNOWN | SIG-B DCM known. |
HE_MU_FLAGS1_CH2_CENTER_26T_RU_KNOWN | (Channel 2) Center 26-tone RU bit known |
HE_MU_FLAGS1_CH1_RUS_KNOWN | Channel 1 RUs known (which depends on BW) |
HE_MU_FLAGS1_CH2_RUS_KNOWN | Channel 2 RUs known (which depends on BW) |
HE_MU_FLAGS1_CH1_CENTER_26T_RU_KNOWN | (Channel 1) Center 26-tone RU bit known |
HE_MU_FLAGS1_CH1_CENTER_26T_RU | (Channel 1) Center 26-tone RU value |
HE_MU_FLAGS1_SIGB_COMPRESSION_KNOWN | SIG-B Compression known. |
HE_MU_FLAGS1_NUM_SIGB_SYMBOLS_KNOWN | of HE-SIG-B Symbols/MU-MIMO Users known |
Definition at line 379 of file radiotap-header.h.
HE MU flags2.
Enumerator | |
---|---|
HE_MU_FLAGS2_BW_FROM_SIGA | Bandwidth from Bandwidth field in HE-SIG-A. |
HE_MU_FLAGS2_BW_FROM_SIGA_KNOWN | Bandwidth from Bandwidth field in HE-SIG-A known. |
HE_MU_FLAGS2_SIGB_COMPRESSION_FROM_SIGA | SIG-B compression from SIG-A. |
HE_MU_FLAGS2_NUM_SIGB_SYMBOLS_FROM_SIGA | of HE-SIG-B Symbols - 1 or # of MU-MIMO Users - 1 from SIG-A |
HE_MU_FLAGS2_PREAMBLE_PUNCTURING_FROM_SIGA_BW_FIELD | Preamble puncturing from Bandwidth field in HE-SIG-A. |
HE_MU_FLAGS2_PREAMBLE_PUNCTURING_FROM_SIGA_BW_FIELD_KNOWN | Preamble puncturing from Bandwidth field in HE-SIG-A known. |
HE_MU_FLAGS2_CH2_CENTER_26T_RU | (Channel 2) Center 26-tone RU value |
Definition at line 397 of file radiotap-header.h.
HE MU per_user_known.
Definition at line 428 of file radiotap-header.h.
MCS flags.
Definition at line 183 of file radiotap-header.h.
MCS known bits.
Definition at line 166 of file radiotap-header.h.
|
private |
Radiotap flags.
Definition at line 457 of file radiotap-header.h.
VHT flags.
Definition at line 256 of file radiotap-header.h.
VHT known bits.
Definition at line 237 of file radiotap-header.h.
ns3::RadiotapHeader::RadiotapHeader | ( | ) |
Definition at line 24 of file radiotap-header.cc.
References NS_LOG_FUNCTION.
|
overridevirtual |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet.
The data read is expected to match bit-for-bit the representation of this header in real networks.
start | An iterator which points to where the header should written. |
Implements ns3::Header.
Definition at line 334 of file radiotap-header.cc.
References m_ampduStatusCRC, m_ampduStatusFlags, m_ampduStatusPad, m_ampduStatusRef, m_antennaNoise, m_antennaSignal, m_channelFlags, m_channelFreq, m_channelPad, m_flags, m_heData1, m_heData2, m_heData3, m_heData4, m_heData5, m_heData6, m_heMuFlags1, m_heMuFlags2, m_heMuOtherUserPad, m_heMuPad, m_heMuPerUser1, m_heMuPerUser2, m_heMuPerUserKnown, m_heMuPerUserPosition, m_hePad, m_length, m_mcsFlags, m_mcsKnown, m_mcsRate, m_present, m_rate, m_tsft, m_vhtBandwidth, m_vhtCoding, m_vhtFlags, m_vhtGroupId, m_vhtKnown, m_vhtMcsNss, m_vhtPad, m_vhtPartialAid, NS_ASSERT_MSG, NS_LOG_FUNCTION, RADIOTAP_AMPDU_STATUS, RADIOTAP_ANTENNA, RADIOTAP_CHANNEL, RADIOTAP_DB_ANTNOISE, RADIOTAP_DB_ANTSIGNAL, RADIOTAP_DB_TX_ATTENUATION, RADIOTAP_DBM_ANTNOISE, RADIOTAP_DBM_ANTSIGNAL, RADIOTAP_DBM_TX_POWER, RADIOTAP_FHSS, RADIOTAP_FLAGS, RADIOTAP_HE, RADIOTAP_HE_MU, RADIOTAP_HE_MU_OTHER_USER, RADIOTAP_LOCK_QUALITY, RADIOTAP_MCS, RADIOTAP_RATE, RADIOTAP_RX_FLAGS, RADIOTAP_TSFT, RADIOTAP_TX_ATTENUATION, and RADIOTAP_VHT.
|
overridevirtual |
Get the most derived TypeId for this Object.
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Implements ns3::ObjectBase.
Definition at line 75 of file radiotap-header.cc.
References GetTypeId().
|
overridevirtual |
This method is used by Packet::AddHeader to store the header into the byte buffer of a packet.
This method returns the number of bytes which are needed to store the header data during a Serialize.
Implements ns3::Header.
Definition at line 81 of file radiotap-header.cc.
References m_length, and NS_LOG_FUNCTION.
|
static |
Get the type ID.
Definition at line 64 of file radiotap-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
overridevirtual |
This method is used by Packet::Print to print the content of the header as ascii data to a C++ output stream.
Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace.
eg: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5
os | The output stream |
Implements ns3::Header.
Definition at line 621 of file radiotap-header.cc.
References m_ampduStatusFlags, m_antennaNoise, m_antennaSignal, m_channelFlags, m_channelFreq, m_flags, m_heData1, m_heData2, m_heData3, m_heData4, m_heData5, m_heData6, m_heMuFlags1, m_heMuFlags2, m_heMuPerUser1, m_heMuPerUser2, m_heMuPerUserKnown, m_heMuPerUserPosition, m_mcsFlags, m_mcsKnown, m_mcsRate, m_rate, m_tsft, m_vhtBandwidth, m_vhtCoding, m_vhtFlags, m_vhtGroupId, m_vhtKnown, m_vhtMcsNss, m_vhtPartialAid, and NS_LOG_FUNCTION.
|
overridevirtual |
This method is used by Packet::AddHeader to store the header into the byte buffer of a packet.
The data written is expected to match bit-for-bit the representation of this header in a real network.
start | An iterator which points to where the header should be written. |
Implements ns3::Header.
Definition at line 88 of file radiotap-header.cc.
References m_ampduStatusCRC, m_ampduStatusFlags, m_ampduStatusPad, m_ampduStatusRef, m_antennaNoise, m_antennaSignal, m_channelFlags, m_channelFreq, m_channelPad, m_flags, m_heData1, m_heData2, m_heData3, m_heData4, m_heData5, m_heData6, m_heMuFlags1, m_heMuFlags2, m_heMuOtherUserPad, m_heMuPad, m_heMuPerUser1, m_heMuPerUser2, m_heMuPerUserKnown, m_heMuPerUserPosition, m_hePad, m_length, m_mcsFlags, m_mcsKnown, m_mcsRate, m_present, m_rate, m_tsft, m_vhtBandwidth, m_vhtCoding, m_vhtFlags, m_vhtGroupId, m_vhtKnown, m_vhtMcsNss, m_vhtPad, m_vhtPartialAid, NS_LOG_FUNCTION, RADIOTAP_AMPDU_STATUS, RADIOTAP_ANTENNA, RADIOTAP_CHANNEL, RADIOTAP_DB_ANTNOISE, RADIOTAP_DB_ANTSIGNAL, RADIOTAP_DB_TX_ATTENUATION, RADIOTAP_DBM_ANTNOISE, RADIOTAP_DBM_ANTSIGNAL, RADIOTAP_DBM_TX_POWER, RADIOTAP_FHSS, RADIOTAP_FLAGS, RADIOTAP_HE, RADIOTAP_HE_MU, RADIOTAP_HE_MU_OTHER_USER, RADIOTAP_LOCK_QUALITY, RADIOTAP_MCS, RADIOTAP_RATE, RADIOTAP_RX_FLAGS, RADIOTAP_TSFT, RADIOTAP_TX_ATTENUATION, and RADIOTAP_VHT.
void ns3::RadiotapHeader::SetAmpduStatus | ( | uint32_t | referenceNumber, |
uint16_t | flags, | ||
uint8_t | crc ) |
Set the A-MPDU status fields.
referenceNumber | The A-MPDU reference number to identify all subframes belonging to the same A-MPDU. |
flags | The flags to set. |
crc | The CRC value value. |
Definition at line 779 of file radiotap-header.cc.
References m_ampduStatusCRC, m_ampduStatusFlags, m_ampduStatusPad, m_ampduStatusRef, m_length, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_AMPDU_STATUS.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetAntennaNoisePower | ( | double | noise | ) |
Set the RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference.
noise | The RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference. |
Definition at line 735 of file radiotap-header.cc.
References m_antennaNoise, m_length, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_DBM_ANTNOISE.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetAntennaSignalPower | ( | double | signal | ) |
Set the RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference.
signal | The RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference; |
Definition at line 708 of file radiotap-header.cc.
References m_antennaSignal, m_length, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_DBM_ANTSIGNAL.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetChannelFrequencyAndFlags | ( | uint16_t | frequency, |
uint16_t | flags ) |
Set the transmit/receive channel frequency and flags.
frequency | The transmit/receive data rate in units of 500 kbps. |
flags | The flags to set. |
Definition at line 690 of file radiotap-header.cc.
References m_channelFlags, m_channelFreq, m_channelPad, m_length, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_CHANNEL.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetFrameFlags | ( | uint8_t | flags | ) |
Set the frame flags of the transmitted or received frame.
flags | flags to set. |
Definition at line 658 of file radiotap-header.cc.
References m_flags, m_length, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_FLAGS.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetHeFields | ( | uint16_t | data1, |
uint16_t | data2, | ||
uint16_t | data3, | ||
uint16_t | data4, | ||
uint16_t | data5, | ||
uint16_t | data6 ) |
Set the HE fields.
data1 | The data1 field. |
data2 | The data2 field. |
data3 | The data3 field. |
data4 | The data4 field. |
data5 | The data5 field. |
data6 | The data6 field. |
Definition at line 829 of file radiotap-header.cc.
References m_heData1, m_heData2, m_heData3, m_heData4, m_heData5, m_heData6, m_hePad, m_length, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_HE.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetHeMuFields | ( | uint16_t | flags1, |
uint16_t | flags2, | ||
const std::array< uint8_t, 4 > & | ruChannel1, | ||
const std::array< uint8_t, 4 > & | ruChannel2 ) |
Set the HE MU fields.
flags1 | The flags1 field. |
flags2 | The flags2 field. |
ruChannel1 | The RU_channel1 field. |
ruChannel2 | The RU_channel2 field. |
Definition at line 855 of file radiotap-header.cc.
References m_heMuFlags1, m_heMuFlags2, m_heMuPad, m_length, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_HE_MU.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetHeMuPerUserFields | ( | uint16_t | perUser1, |
uint16_t | perUser2, | ||
uint8_t | perUserPosition, | ||
uint8_t | perUserKnown ) |
Set the HE MU per user fields.
perUser1 | The per_user_1 field. |
perUser2 | The per_user_2 field. |
perUserPosition | The per_user_position field. |
perUserKnown | The per_user_known field. |
Definition at line 875 of file radiotap-header.cc.
References m_heMuOtherUserPad, m_heMuPerUser1, m_heMuPerUser2, m_heMuPerUserKnown, m_heMuPerUserPosition, m_length, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_HE_MU_OTHER_USER.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetMcsFields | ( | uint8_t | known, |
uint8_t | flags, | ||
uint8_t | mcs ) |
Set the MCS fields.
known | The kwown flags. |
flags | The flags to set. |
mcs | The MCS index value. |
Definition at line 762 of file radiotap-header.cc.
References m_length, m_mcsFlags, m_mcsKnown, m_mcsRate, m_present, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_MCS.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetRate | ( | uint8_t | rate | ) |
Set the transmit/receive channel frequency in units of megahertz.
rate | the transmit/receive channel frequency in units of megahertz. |
Definition at line 674 of file radiotap-header.cc.
References m_length, m_present, m_rate, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_RATE.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetTsft | ( | uint64_t | tsft | ) |
Set the Time Synchronization Function Timer (TSFT) value.
Valid for received frames only.
tsft | Value in microseconds of the MAC's 64-bit 802.11 Time Synchronization Function timer when the first bit of the MPDU arrived at the MAC. |
Definition at line 642 of file radiotap-header.cc.
References m_length, m_present, m_tsft, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_TSFT.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
void ns3::RadiotapHeader::SetVhtFields | ( | uint16_t | known, |
uint8_t | flags, | ||
uint8_t | bandwidth, | ||
uint8_t | mcs_nss[4], | ||
uint8_t | coding, | ||
uint8_t | group_id, | ||
uint16_t | partial_aid ) |
Set the VHT fields.
known | The kwown flags. |
flags | The flags to set. |
bandwidth | The bandwidth value. |
mcs_nss | The mcs_nss value. |
coding | The coding value. |
group_id | The group_id value. |
partial_aid | The partial_aid value. |
Definition at line 797 of file radiotap-header.cc.
References m_length, m_present, m_vhtBandwidth, m_vhtCoding, m_vhtFlags, m_vhtGroupId, m_vhtKnown, m_vhtMcsNss, m_vhtPad, m_vhtPartialAid, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_VHT.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
|
private |
A-MPDU Status Flags, delimiter CRC value.
Definition at line 507 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), and SetAmpduStatus().
|
private |
A-MPDU Status Flags, information about the received A-MPDU.
Definition at line 506 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetAmpduStatus().
|
private |
A-MPDU Status Flags, padding before A-MPDU Status Field.
Definition at line 504 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), and SetAmpduStatus().
|
private |
A-MPDU Status Flags, reference number.
Definition at line 505 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), and SetAmpduStatus().
|
private |
RF noise power at the antenna, dB difference from an arbitrary, fixed reference.
Definition at line 497 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetAntennaNoisePower().
|
private |
RF signal power at the antenna, dB difference from an arbitrary, fixed reference.
Definition at line 495 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetAntennaSignalPower().
|
private |
Tx/Rx channel flags.
Definition at line 494 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetChannelFrequencyAndFlags().
|
private |
Tx/Rx frequency in MHz.
Definition at line 493 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetChannelFrequencyAndFlags().
|
private |
Tx/Rx channel padding.
Definition at line 492 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), and SetChannelFrequencyAndFlags().
|
private |
Properties of transmitted and received frames.
Definition at line 490 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetFrameFlags().
|
private |
HE data1 field.
Definition at line 519 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeFields().
|
private |
HE data2 field.
Definition at line 520 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeFields().
|
private |
HE data3 field.
Definition at line 521 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeFields().
|
private |
HE data4 field.
Definition at line 522 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeFields().
|
private |
HE data5 field.
Definition at line 523 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeFields().
|
private |
HE data6 field.
Definition at line 524 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeFields().
|
private |
HE MU flags1 field.
Definition at line 527 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeMuFields().
|
private |
HE MU flags2 field.
Definition at line 528 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeMuFields().
|
private |
HE MU other user padding.
Definition at line 530 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), and SetHeMuPerUserFields().
|
private |
HE MU padding.
Definition at line 526 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), and SetHeMuFields().
|
private |
HE MU per_user_1 field.
Definition at line 531 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeMuPerUserFields().
|
private |
HE MU per_user_2 field.
Definition at line 532 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeMuPerUserFields().
|
private |
HE MU per_user_known field.
Definition at line 534 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeMuPerUserFields().
|
private |
HE MU per_user_position field.
Definition at line 533 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetHeMuPerUserFields().
|
private |
HE padding.
Definition at line 518 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), and SetHeFields().
|
private |
entire length of radiotap data + header
Definition at line 485 of file radiotap-header.h.
Referenced by Deserialize(), GetSerializedSize(), Serialize(), SetAmpduStatus(), SetAntennaNoisePower(), SetAntennaSignalPower(), SetChannelFrequencyAndFlags(), SetFrameFlags(), SetHeFields(), SetHeMuFields(), SetHeMuPerUserFields(), SetMcsFields(), SetRate(), SetTsft(), and SetVhtFields().
|
private |
MCS Flags, flags field.
Definition at line 501 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetMcsFields().
|
private |
MCS Flags, known information field.
Definition at line 500 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetMcsFields().
|
private |
MCS Flags, mcs rate index.
Definition at line 502 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetMcsFields().
|
private |
bits describing which fields follow header
Definition at line 486 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), SetAmpduStatus(), SetAntennaNoisePower(), SetAntennaSignalPower(), SetChannelFrequencyAndFlags(), SetFrameFlags(), SetHeFields(), SetHeMuFields(), SetHeMuPerUserFields(), SetMcsFields(), SetRate(), SetTsft(), and SetVhtFields().
|
private |
TX/RX data rate in units of 500 kbps.
Definition at line 491 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetRate().
|
private |
Time Synchronization Function Timer (when the first bit of the MPDU arrived at the MAC)
Definition at line 488 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetTsft().
|
private |
VHT bandwidth field.
Definition at line 512 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetVhtFields().
|
private |
VHT coding field.
Definition at line 514 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetVhtFields().
|
private |
VHT flags field.
Definition at line 511 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetVhtFields().
|
private |
VHT group_id field.
Definition at line 515 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetVhtFields().
|
private |
VHT known field.
Definition at line 510 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetVhtFields().
|
private |
VHT mcs_nss field.
Definition at line 513 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetVhtFields().
|
private |
VHT padding.
Definition at line 509 of file radiotap-header.h.
Referenced by Deserialize(), Serialize(), and SetVhtFields().
|
private |
VHT partial_aid field.
Definition at line 516 of file radiotap-header.h.
Referenced by Deserialize(), Print(), Serialize(), and SetVhtFields().