A Discrete-Event Network Simulator
API
ns3::RadiotapHeader Class Reference

Radiotap header implementation. More...

#include "radiotap-header.h"

+ Inheritance diagram for ns3::RadiotapHeader:
+ Collaboration diagram for ns3::RadiotapHeader:

Public Types

enum  AmpduFlags {
  A_MPDU_STATUS_NONE = 0x00, A_MPDU_STATUS_REPORT_ZERO_LENGTH = 0x01, A_MPDU_STATUS_IS_ZERO_LENGTH = 0x02, A_MPDU_STATUS_LAST_KNOWN = 0x04,
  A_MPDU_STATUS_LAST = 0x08, A_MPDU_STATUS_DELIMITER_CRC_ERROR = 0x10, A_MPDU_STATUS_DELIMITER_CRC_KNOWN = 0x20
}
 A-MPDU status flags. More...
 
enum  ChannelFlags {
  CHANNEL_FLAG_NONE = 0x0000, CHANNEL_FLAG_TURBO = 0x0010, CHANNEL_FLAG_CCK = 0x0020, CHANNEL_FLAG_OFDM = 0x0040,
  CHANNEL_FLAG_SPECTRUM_2GHZ = 0x0080, CHANNEL_FLAG_SPECTRUM_5GHZ = 0x0100, CHANNEL_FLAG_PASSIVE = 0x0200, CHANNEL_FLAG_DYNAMIC = 0x0400,
  CHANNEL_FLAG_GFSK = 0x0800
}
 Channel flags. More...
 
enum  FrameFlag {
  FRAME_FLAG_NONE = 0x00, FRAME_FLAG_CFP = 0x01, FRAME_FLAG_SHORT_PREAMBLE = 0x02, FRAME_FLAG_WEP = 0x04,
  FRAME_FLAG_FRAGMENTED = 0x08, FRAME_FLAG_FCS_INCLUDED = 0x10, FRAME_FLAG_DATA_PADDING = 0x20, FRAME_FLAG_BAD_FCS = 0x40,
  FRAME_FLAG_SHORT_GUARD = 0x80
}
 Frame flags. More...
 
enum  McsFlags {
  MCS_FLAGS_NONE = 0x00, MCS_FLAGS_BANDWIDTH_40 = 0x01, MCS_FLAGS_BANDWIDTH_20L = 0x02, MCS_FLAGS_BANDWIDTH_20U = 0x03,
  MCS_FLAGS_GUARD_INTERVAL = 0x04, MCS_FLAGS_HT_GREENFIELD = 0x08, MCS_FLAGS_FEC_TYPE = 0x10, MCS_FLAGS_STBC_STREAMS = 0x60,
  MCS_FLAGS_NESS_BIT_0 = 0x80
}
 MCS flags. More...
 
enum  McsKnown {
  MCS_KNOWN_NONE = 0x00, MCS_KNOWN_BANDWIDTH = 0x01, MCS_KNOWN_INDEX = 0x02, MCS_KNOWN_GUARD_INTERVAL = 0x04,
  MCS_KNOWN_HT_FORMAT = 0x08, MCS_KNOWN_FEC_TYPE = 0x10, MCS_KNOWN_STBC = 0x20, MCS_KNOWN_NESS = 0x40,
  MCS_KNOWN_NESS_BIT_1 = 0x80
}
 MCS known bits. More...
 
enum  VhtFlags {
  VHT_FLAGS_NONE = 0x00, VHT_FLAGS_STBC = 0x01, VHT_FLAGS_TXOP_PS_NOT_ALLOWED = 0x02, VHT_FLAGS_GUARD_INTERVAL = 0x04,
  VHT_FLAGS_SHORT_GI_NSYM_DISAMBIGUATION = 0x08, VHT_FLAGS_LDPC_EXTRA_OFDM_SYMBOL = 0x10, VHT_FLAGS_BEAMFORMED = 0x20
}
 VHT flags. More...
 
enum  VhtKnown {
  VHT_KNOWN_NONE = 0x0000, VHT_KNOWN_STBC = 0x0001, VHT_KNOWN_TXOP_PS_NOT_ALLOWED = 0x0002, VHT_KNOWN_GUARD_INTERVAL = 0x0004,
  VHT_KNOWN_SHORT_GI_NSYM_DISAMBIGUATION = 0x0008, VHT_KNOWN_LDPC_EXTRA_OFDM_SYMBOL = 0x0010, VHT_KNOWN_BEAMFORMED = 0x0020, VHT_KNOWN_BANDWIDTH = 0x0040,
  VHT_KNOWN_GROUP_ID = 0x0080, VHT_KNOWN_PARTIAL_AID = 0x0100
}
 VHT known bits. More...
 

Public Member Functions

 RadiotapHeader ()
 
virtual uint32_t Deserialize (Buffer::Iterator start)
 This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. More...
 
uint16_t GetAmpduStatusFlags (void) const
 Get the A-MPDU status flags. More...
 
uint32_t GetAmpduStatusRef (void) const
 Get the A-MPDU reference number. More...
 
uint8_t GetAntennaNoisePower (void) const
 Get the RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference. More...
 
uint8_t GetAntennaSignalPower (void) const
 Get the RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference. More...
 
uint16_t GetChannelFlags (void) const
 Get the channel flags of the transmitted or received frame. More...
 
uint16_t GetChannelFrequency (void) const
 Get the transmit/receive data rate in units of 500 kbps. More...
 
uint8_t GetFrameFlags (void) const
 Get the frame flags of the transmitted or received frame. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
uint8_t GetMcsFlags (void) const
 Get the MCS flags. More...
 
uint8_t GetMcsKnown (void) const
 Get the MCS known bitmap. More...
 
uint8_t GetMcsRate (void) const
 Get the MCS index value. More...
 
uint8_t GetRate (void) const
 Get the transmit/receive channel frequency in units of megahertz. More...
 
virtual uint32_t GetSerializedSize (void) const
 This method is used by Packet::AddHeader to store the header into the byte buffer of a packet. More...
 
uint64_t GetTsft (void) const
 Get the Time Synchronization Function Timer (TSFT) value. More...
 
uint8_t GetVhtBandwidth (void) const
 Get the VHT bandwidth field value. More...
 
uint8_t GetVhtCoding (void) const
 Get the VHT coding field value. More...
 
uint8_t GetVhtFlags (void) const
 Get the VHT flags. More...
 
uint8_t GetVhtGroupId (void) const
 Get the VHT group_id field value. More...
 
uint16_t GetVhtKnown (void) const
 Get the VHT known bitmap. More...
 
uint8_t GetVhtMcsNssUser1 () const
 Get the VHT mcs_nss field value for user 1. More...
 
uint8_t GetVhtMcsNssUser2 () const
 Get the VHT mcs_nss field value for user 2. More...
 
uint8_t GetVhtMcsNssUser3 () const
 Get the VHT mcs_nss field value for user 3. More...
 
uint8_t GetVhtMcsNssUser4 () const
 Get the VHT mcs_nss field value for user 4. More...
 
uint8_t GetVhtPartialAid (void) const
 Get the VHT partial_aid field value. More...
 
virtual void Print (std::ostream &os) const
 This method is used by Packet::Print to print the content of the header as ascii data to a C++ output stream. More...
 
virtual void Serialize (Buffer::Iterator start) const
 This method is used by Packet::AddHeader to store the header into the byte buffer of a packet. More...
 
void SetAmpduStatus (uint32_t referenceNumber, uint16_t flags, uint8_t crc)
 Set the A-MPDU status fields. More...
 
void SetAntennaNoisePower (double noise)
 Set the RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference. More...
 
void SetAntennaSignalPower (double signal)
 Set the RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference. More...
 
void SetChannelFrequencyAndFlags (uint16_t frequency, uint16_t flags)
 Set the transmit/receive channel frequency and flags. More...
 
void SetFrameFlags (uint8_t flags)
 Set the frame flags of the transmitted or received frame. More...
 
void SetMcsFields (uint8_t known, uint8_t flags, uint8_t mcs)
 Set the MCS fields. More...
 
void SetRate (uint8_t rate)
 Set the transmit/receive channel frequency in units of megahertz. More...
 
void SetTsft (uint64_t tsft)
 Set the Time Synchronization Function Timer (TSFT) value. More...
 
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. More...
 
- Public Member Functions inherited from ns3::Header
virtual ~Header ()
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Header
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Chunk
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

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_EXT = 0x10000000
}
 Radiotap flags. More...
 

Private Attributes

uint8_t m_ampduStatusCRC
 A-MPDU Status Flags, delimiter CRC value. More...
 
uint16_t m_ampduStatusFlags
 A-MPDU Status Flags, information about the received A-MPDU. More...
 
uint8_t m_ampduStatusPad
 A-MPDU Status Flags, padding before A-MPDU Status Field. More...
 
uint32_t m_ampduStatusRef
 A-MPDU Status Flags, reference number. More...
 
int8_t m_antennaNoise
 RF noise power at the antenna, dB difference from an arbitrary, fixed reference. More...
 
int8_t m_antennaSignal
 RF signal power at the antenna, dB difference from an arbitrary, fixed reference. More...
 
uint16_t m_channelFlags
 Tx/Rx channel flags. More...
 
uint16_t m_channelFreq
 Tx/Rx frequency in MHz. More...
 
uint8_t m_channelPad
 Tx/Rx channel padding. More...
 
uint8_t m_flags
 Properties of transmitted and received frames. More...
 
uint16_t m_length
 entire length of radiotap data + header More...
 
uint8_t m_mcsFlags
 MCS Flags, flags field. More...
 
uint8_t m_mcsKnown
 MCS Flags, known information field. More...
 
uint8_t m_mcsRate
 MCS Flags, mcs rate index. More...
 
uint32_t m_present
 bits describing which fields follow header More...
 
uint8_t m_rate
 TX/RX data rate in units of 500 kbps. More...
 
uint64_t m_tsft
 Time Synchronization Function Timer (when the first bit of the MPDU arrived at the MAC) More...
 
uint8_t m_vhtBandwidth
 VHT bandwidth field. More...
 
uint8_t m_vhtCoding
 VHT coding field. More...
 
uint8_t m_vhtFlags
 VHT flags field. More...
 
uint8_t m_vhtGroupId
 VHT group_id field. More...
 
uint16_t m_vhtKnown
 VHT known field. More...
 
uint8_t m_vhtMcsNss [4]
 VHT mcs_nss field. More...
 
uint8_t m_vhtPad
 VHT padding. More...
 
uint16_t m_vhtPartialAid
 VHT partial_aid field. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

Radiotap header implementation.

Introspection did not find any typical Config paths.

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.


No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 64 bytes (on a 64-bit architecture).

Definition at line 38 of file radiotap-header.h.

Member Enumeration Documentation

A-MPDU status flags.

Enumerator
A_MPDU_STATUS_NONE 

No flags set.

A_MPDU_STATUS_REPORT_ZERO_LENGTH 

Driver reports 0-length subframes.

A_MPDU_STATUS_IS_ZERO_LENGTH 

Frame is 0-length subframe (valid only if 0x0001 is set)

A_MPDU_STATUS_LAST_KNOWN 

Last subframe is known (should be set for all subframes in an A-MPDU)

A_MPDU_STATUS_LAST 

This frame is the last subframe.

A_MPDU_STATUS_DELIMITER_CRC_ERROR 

Delimiter CRC error.

A_MPDU_STATUS_DELIMITER_CRC_KNOWN 

Delimiter CRC value known: the delimiter CRC value field is valid.

Definition at line 291 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 158 of file radiotap-header.h.

Frame flags.

Enumerator
FRAME_FLAG_NONE 

No flags set.

FRAME_FLAG_CFP 

Frame sent/received during CFP.

FRAME_FLAG_SHORT_PREAMBLE 

Frame sent/received with short preamble.

FRAME_FLAG_WEP 

Frame sent/received with WEP encryption.

FRAME_FLAG_FRAGMENTED 

Frame sent/received with fragmentation.

FRAME_FLAG_FCS_INCLUDED 

Frame includes FCS.

FRAME_FLAG_DATA_PADDING 

Frame has padding between 802.11 header and payload (to 32-bit boundary)

FRAME_FLAG_BAD_FCS 

Frame failed FCS check.

FRAME_FLAG_SHORT_GUARD 

Frame used short guard interval (HT)

Definition at line 117 of file radiotap-header.h.

MCS flags.

Enumerator
MCS_FLAGS_NONE 

Default: 20 MHz, long guard interval, mixed HT format and BCC FEC type.

MCS_FLAGS_BANDWIDTH_40 

40 MHz

MCS_FLAGS_BANDWIDTH_20L 

20L (20 MHz in lower half of 40 MHz channel)

MCS_FLAGS_BANDWIDTH_20U 

20U (20 MHz in upper half of 40 MHz channel)

MCS_FLAGS_GUARD_INTERVAL 

Short guard interval.

MCS_FLAGS_HT_GREENFIELD 

Greenfield HT format.

MCS_FLAGS_FEC_TYPE 

LDPC FEC type.

MCS_FLAGS_STBC_STREAMS 

STBC enabled.

MCS_FLAGS_NESS_BIT_0 

Ness - bit 0 (LSB) of Number of extension spatial streams.

Definition at line 247 of file radiotap-header.h.

MCS known bits.

Enumerator
MCS_KNOWN_NONE 

No flags set.

MCS_KNOWN_BANDWIDTH 

Bandwidth.

MCS_KNOWN_INDEX 

MCS index known.

MCS_KNOWN_GUARD_INTERVAL 

Guard interval.

MCS_KNOWN_HT_FORMAT 

HT format.

MCS_KNOWN_FEC_TYPE 

FEC type.

MCS_KNOWN_STBC 

STBC known.

MCS_KNOWN_NESS 

Ness known (Number of extension spatial streams)

MCS_KNOWN_NESS_BIT_1 

Ness data - bit 1 (MSB) of Number of extension spatial streams.

Definition at line 231 of file radiotap-header.h.

Radiotap flags.

Enumerator
RADIOTAP_TSFT 
RADIOTAP_FLAGS 
RADIOTAP_RATE 
RADIOTAP_CHANNEL 
RADIOTAP_FHSS 
RADIOTAP_DBM_ANTSIGNAL 
RADIOTAP_DBM_ANTNOISE 
RADIOTAP_LOCK_QUALITY 
RADIOTAP_TX_ATTENUATION 
RADIOTAP_DB_TX_ATTENUATION 
RADIOTAP_DBM_TX_POWER 
RADIOTAP_ANTENNA 
RADIOTAP_DB_ANTSIGNAL 
RADIOTAP_DB_ANTNOISE 
RADIOTAP_RX_FLAGS 
RADIOTAP_MCS 
RADIOTAP_AMPDU_STATUS 
RADIOTAP_VHT 
RADIOTAP_EXT 

Definition at line 437 of file radiotap-header.h.

VHT flags.

Enumerator
VHT_FLAGS_NONE 

No flags set.

VHT_FLAGS_STBC 

Set if all spatial streams of all users have space-time block coding.

VHT_FLAGS_TXOP_PS_NOT_ALLOWED 

Set if STAs may not doze during TXOP (valid only for AP transmitters).

VHT_FLAGS_GUARD_INTERVAL 

Short guard interval.

VHT_FLAGS_SHORT_GI_NSYM_DISAMBIGUATION 

Set if NSYM mod 10 = 9 (valid only if short GI is used).

VHT_FLAGS_LDPC_EXTRA_OFDM_SYMBOL 

Set if one or more users are using LDPC and the encoding process resulted in extra OFDM symbol(s)

VHT_FLAGS_BEAMFORMED 

Set if beamforming is used (valid for SU PPDUs only).

Definition at line 344 of file radiotap-header.h.

VHT known bits.

Enumerator
VHT_KNOWN_NONE 

No flags set.

VHT_KNOWN_STBC 

Space-time block coding (1 if all spatial streams of all users have STBC, 0 otherwise).

VHT_KNOWN_TXOP_PS_NOT_ALLOWED 

TXOP_PS_NOT_ALLOWED known.

VHT_KNOWN_GUARD_INTERVAL 

Guard interval.

VHT_KNOWN_SHORT_GI_NSYM_DISAMBIGUATION 

Short GI NSYM disambiguation known.

VHT_KNOWN_LDPC_EXTRA_OFDM_SYMBOL 

LDPC extra OFDM symbol known.

VHT_KNOWN_BEAMFORMED 

Beamformed known/applicable (this flag should be set to zero for MU PPDUs).

VHT_KNOWN_BANDWIDTH 

Bandwidth known.

VHT_KNOWN_GROUP_ID 

Group ID known.

VHT_KNOWN_PARTIAL_AID 

Partial AID known/applicable.

Definition at line 327 of file radiotap-header.h.

Constructor & Destructor Documentation

ns3::RadiotapHeader::RadiotapHeader ( )

Definition at line 33 of file radiotap-header.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

uint16_t ns3::RadiotapHeader::GetAmpduStatusFlags ( void  ) const

Get the A-MPDU status flags.

Returns
The A-MPDU status flags.

Definition at line 731 of file radiotap-header.cc.

References m_ampduStatusFlags, and NS_LOG_FUNCTION.

uint32_t ns3::RadiotapHeader::GetAmpduStatusRef ( void  ) const

Get the A-MPDU reference number.

Returns
The A-MPDU reference number.

Definition at line 724 of file radiotap-header.cc.

References m_ampduStatusRef, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetAntennaNoisePower ( void  ) const

Get the RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference.

Returns
The RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference.

Definition at line 663 of file radiotap-header.cc.

References m_antennaNoise, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetAntennaSignalPower ( void  ) const

Get the RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference.

Returns
The RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference.

Definition at line 630 of file radiotap-header.cc.

References m_antennaSignal, and NS_LOG_FUNCTION.

uint16_t ns3::RadiotapHeader::GetChannelFlags ( void  ) const

Get the channel flags of the transmitted or received frame.

Returns
The frame flags.
See also
ChannelFlags.

Definition at line 597 of file radiotap-header.cc.

References m_channelFlags, and NS_LOG_FUNCTION.

uint16_t ns3::RadiotapHeader::GetChannelFrequency ( void  ) const

Get the transmit/receive data rate in units of 500 kbps.

Returns
The transmit/receive data rate in units of 500 kbps.

Definition at line 590 of file radiotap-header.cc.

References m_channelFreq, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetFrameFlags ( void  ) const

Get the frame flags of the transmitted or received frame.

Returns
The frame flags.
See also
FrameFlags.

Definition at line 544 of file radiotap-header.cc.

References m_flags, and NS_LOG_FUNCTION.

TypeId ns3::RadiotapHeader::GetInstanceTypeId ( void  ) const
virtual

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.

Returns
The TypeId associated to the most-derived type of this instance.

Implements ns3::ObjectBase.

Definition at line 69 of file radiotap-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

uint8_t ns3::RadiotapHeader::GetMcsFlags ( void  ) const

Get the MCS flags.

Returns
The MCS flags.

Definition at line 693 of file radiotap-header.cc.

References m_mcsFlags, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetMcsKnown ( void  ) const

Get the MCS known bitmap.

Returns
The MCS known bitmap.

Definition at line 686 of file radiotap-header.cc.

References m_mcsKnown, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetMcsRate ( void  ) const

Get the MCS index value.

Returns
The MCS index value.

Definition at line 700 of file radiotap-header.cc.

References m_mcsRate, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetRate ( void  ) const

Get the transmit/receive channel frequency in units of megahertz.

Returns
The transmit/receive channel frequency in units of megahertz.

Definition at line 566 of file radiotap-header.cc.

References m_rate, and NS_LOG_FUNCTION.

uint32_t ns3::RadiotapHeader::GetSerializedSize ( void  ) const
virtual

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.

Returns
The expected size of the header.

Implements ns3::Header.

Definition at line 75 of file radiotap-header.cc.

References m_length, and NS_LOG_FUNCTION.

uint64_t ns3::RadiotapHeader::GetTsft ( void  ) const

Get the Time Synchronization Function Timer (TSFT) value.

Valid for received frames only.

Returns
The 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 522 of file radiotap-header.cc.

References m_tsft, and NS_LOG_FUNCTION.

TypeId ns3::RadiotapHeader::GetTypeId ( void  )
static

Get the type ID.

Returns
the object TypeId

Definition at line 57 of file radiotap-header.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint8_t ns3::RadiotapHeader::GetVhtBandwidth ( void  ) const

Get the VHT bandwidth field value.

Returns
The VHT bandwidth field value.

Definition at line 776 of file radiotap-header.cc.

References m_vhtBandwidth, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetVhtCoding ( void  ) const

Get the VHT coding field value.

Returns
The VHT coding field value.

Definition at line 811 of file radiotap-header.cc.

References m_vhtCoding, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetVhtFlags ( void  ) const

Get the VHT flags.

Returns
The VHT flags.

Definition at line 769 of file radiotap-header.cc.

References m_vhtFlags, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetVhtGroupId ( void  ) const

Get the VHT group_id field value.

Returns
The VHT group_id field value.

Definition at line 818 of file radiotap-header.cc.

References m_vhtGroupId, and NS_LOG_FUNCTION.

uint16_t ns3::RadiotapHeader::GetVhtKnown ( void  ) const

Get the VHT known bitmap.

Returns
The MCS known bitmap.

Definition at line 762 of file radiotap-header.cc.

References m_vhtKnown, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetVhtMcsNssUser1 ( ) const

Get the VHT mcs_nss field value for user 1.

Returns
The VHT mcs_nss field value for user 1.

Definition at line 783 of file radiotap-header.cc.

References m_vhtMcsNss, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetVhtMcsNssUser2 ( ) const

Get the VHT mcs_nss field value for user 2.

Returns
The VHT mcs_nss field value for user 2.

Definition at line 790 of file radiotap-header.cc.

References m_vhtMcsNss, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetVhtMcsNssUser3 ( ) const

Get the VHT mcs_nss field value for user 3.

Returns
The VHT mcs_nss field value for user 3.

Definition at line 797 of file radiotap-header.cc.

References m_vhtMcsNss, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetVhtMcsNssUser4 ( ) const

Get the VHT mcs_nss field value for user 4.

Returns
The VHT mcs_nss field value for user 4.

Definition at line 804 of file radiotap-header.cc.

References m_vhtMcsNss, and NS_LOG_FUNCTION.

uint8_t ns3::RadiotapHeader::GetVhtPartialAid ( void  ) const

Get the VHT partial_aid field value.

Returns
The VHT partial_aid field value.

Definition at line 825 of file radiotap-header.cc.

References m_vhtPartialAid, and NS_LOG_FUNCTION.

void ns3::RadiotapHeader::Print ( std::ostream &  os) const
virtual

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

Parameters
osThe output stream

Implements ns3::Header.

Definition at line 480 of file radiotap-header.cc.

References m_ampduStatusFlags, m_antennaNoise, m_antennaSignal, m_channelFlags, m_channelFreq, m_flags, 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.

void ns3::RadiotapHeader::SetAmpduStatus ( uint32_t  referenceNumber,
uint16_t  flags,
uint8_t  crc 
)

Set the A-MPDU status fields.

Parameters
referenceNumberThe A-MPDU reference number to identify all subframes belonging to the same A-MPDU.
flagsThe flags to set.
crcThe CRC value value.

Definition at line 707 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::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadiotapHeader::SetAntennaNoisePower ( double  noise)

Set the RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference.

Parameters
noiseThe RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference.

Definition at line 637 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::PcapSniffRxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadiotapHeader::SetAntennaSignalPower ( double  signal)

Set the RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference.

Parameters
signalThe RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference;

Definition at line 604 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::PcapSniffRxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadiotapHeader::SetChannelFrequencyAndFlags ( uint16_t  frequency,
uint16_t  flags 
)

Set the transmit/receive channel frequency and flags.

Parameters
frequencyThe transmit/receive data rate in units of 500 kbps.
flagsThe flags to set.
See also
ChannelFlags

Definition at line 573 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::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadiotapHeader::SetFrameFlags ( uint8_t  flags)

Set the frame flags of the transmitted or received frame.

Parameters
flagsflags to set.

Definition at line 529 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::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadiotapHeader::SetMcsFields ( uint8_t  known,
uint8_t  flags,
uint8_t  mcs 
)

Set the MCS fields.

Parameters
knownThe kwown flags.
flagsThe flags to set.
mcsThe MCS index value.

Definition at line 670 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::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadiotapHeader::SetRate ( uint8_t  rate)

Set the transmit/receive channel frequency in units of megahertz.

Parameters
ratethe transmit/receive channel frequency in units of megahertz.

Definition at line 551 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::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::RadiotapHeader::SetTsft ( uint64_t  tsft)

Set the Time Synchronization Function Timer (TSFT) value.

Valid for received frames only.

Parameters
tsftValue 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 507 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::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

Parameters
knownThe kwown flags.
flagsThe flags to set.
bandwidthThe bandwidth value.
mcs_nssThe mcs_nss value.
codingThe coding value.
group_idThe group_id value.
partial_aidThe partial_aid value.

Definition at line 738 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::PcapSniffRxEvent(), and ns3::WifiPhyHelper::PcapSniffTxEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

uint8_t ns3::RadiotapHeader::m_ampduStatusCRC
private

A-MPDU Status Flags, delimiter CRC value.

Definition at line 479 of file radiotap-header.h.

Referenced by Deserialize(), Serialize(), and SetAmpduStatus().

uint16_t ns3::RadiotapHeader::m_ampduStatusFlags
private

A-MPDU Status Flags, information about the received A-MPDU.

Definition at line 478 of file radiotap-header.h.

Referenced by Deserialize(), GetAmpduStatusFlags(), Print(), Serialize(), and SetAmpduStatus().

uint8_t ns3::RadiotapHeader::m_ampduStatusPad
private

A-MPDU Status Flags, padding before A-MPDU Status Field.

Definition at line 476 of file radiotap-header.h.

Referenced by Deserialize(), Serialize(), and SetAmpduStatus().

uint32_t ns3::RadiotapHeader::m_ampduStatusRef
private

A-MPDU Status Flags, reference number.

Definition at line 477 of file radiotap-header.h.

Referenced by Deserialize(), GetAmpduStatusRef(), Serialize(), and SetAmpduStatus().

int8_t ns3::RadiotapHeader::m_antennaNoise
private

RF noise power at the antenna, dB difference from an arbitrary, fixed reference.

Definition at line 470 of file radiotap-header.h.

Referenced by Deserialize(), GetAntennaNoisePower(), Print(), Serialize(), and SetAntennaNoisePower().

int8_t ns3::RadiotapHeader::m_antennaSignal
private

RF signal power at the antenna, dB difference from an arbitrary, fixed reference.

Definition at line 469 of file radiotap-header.h.

Referenced by Deserialize(), GetAntennaSignalPower(), Print(), Serialize(), and SetAntennaSignalPower().

uint16_t ns3::RadiotapHeader::m_channelFlags
private

Tx/Rx channel flags.

Definition at line 468 of file radiotap-header.h.

Referenced by Deserialize(), GetChannelFlags(), Print(), Serialize(), and SetChannelFrequencyAndFlags().

uint16_t ns3::RadiotapHeader::m_channelFreq
private

Tx/Rx frequency in MHz.

Definition at line 467 of file radiotap-header.h.

Referenced by Deserialize(), GetChannelFrequency(), Print(), Serialize(), and SetChannelFrequencyAndFlags().

uint8_t ns3::RadiotapHeader::m_channelPad
private

Tx/Rx channel padding.

Definition at line 466 of file radiotap-header.h.

Referenced by Deserialize(), Serialize(), and SetChannelFrequencyAndFlags().

uint8_t ns3::RadiotapHeader::m_flags
private

Properties of transmitted and received frames.

Definition at line 464 of file radiotap-header.h.

Referenced by Deserialize(), GetFrameFlags(), Print(), Serialize(), and SetFrameFlags().

uint16_t ns3::RadiotapHeader::m_length
private
uint8_t ns3::RadiotapHeader::m_mcsFlags
private

MCS Flags, flags field.

Definition at line 473 of file radiotap-header.h.

Referenced by Deserialize(), GetMcsFlags(), Print(), Serialize(), and SetMcsFields().

uint8_t ns3::RadiotapHeader::m_mcsKnown
private

MCS Flags, known information field.

Definition at line 472 of file radiotap-header.h.

Referenced by Deserialize(), GetMcsKnown(), Print(), Serialize(), and SetMcsFields().

uint8_t ns3::RadiotapHeader::m_mcsRate
private

MCS Flags, mcs rate index.

Definition at line 474 of file radiotap-header.h.

Referenced by Deserialize(), GetMcsRate(), Print(), Serialize(), and SetMcsFields().

uint32_t ns3::RadiotapHeader::m_present
private
uint8_t ns3::RadiotapHeader::m_rate
private

TX/RX data rate in units of 500 kbps.

Definition at line 465 of file radiotap-header.h.

Referenced by Deserialize(), GetRate(), Print(), Serialize(), and SetRate().

uint64_t ns3::RadiotapHeader::m_tsft
private

Time Synchronization Function Timer (when the first bit of the MPDU arrived at the MAC)

Definition at line 463 of file radiotap-header.h.

Referenced by Deserialize(), GetTsft(), Print(), Serialize(), and SetTsft().

uint8_t ns3::RadiotapHeader::m_vhtBandwidth
private

VHT bandwidth field.

Definition at line 484 of file radiotap-header.h.

Referenced by Deserialize(), GetVhtBandwidth(), Print(), Serialize(), and SetVhtFields().

uint8_t ns3::RadiotapHeader::m_vhtCoding
private

VHT coding field.

Definition at line 486 of file radiotap-header.h.

Referenced by Deserialize(), GetVhtCoding(), Print(), Serialize(), and SetVhtFields().

uint8_t ns3::RadiotapHeader::m_vhtFlags
private

VHT flags field.

Definition at line 483 of file radiotap-header.h.

Referenced by Deserialize(), GetVhtFlags(), Print(), Serialize(), and SetVhtFields().

uint8_t ns3::RadiotapHeader::m_vhtGroupId
private

VHT group_id field.

Definition at line 487 of file radiotap-header.h.

Referenced by Deserialize(), GetVhtGroupId(), Print(), Serialize(), and SetVhtFields().

uint16_t ns3::RadiotapHeader::m_vhtKnown
private

VHT known field.

Definition at line 482 of file radiotap-header.h.

Referenced by Deserialize(), GetVhtKnown(), Print(), Serialize(), and SetVhtFields().

uint8_t ns3::RadiotapHeader::m_vhtMcsNss[4]
private
uint8_t ns3::RadiotapHeader::m_vhtPad
private

VHT padding.

Definition at line 481 of file radiotap-header.h.

Referenced by Deserialize(), Serialize(), and SetVhtFields().

uint16_t ns3::RadiotapHeader::m_vhtPartialAid
private

VHT partial_aid field.

Definition at line 488 of file radiotap-header.h.

Referenced by Deserialize(), GetVhtPartialAid(), Print(), Serialize(), and SetVhtFields().


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