A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::WifiMacHeader Class Reference

Implements the IEEE 802.11 MAC header. More...

#include "wifi-mac-header.h"

+ Inheritance diagram for ns3::WifiMacHeader:
+ Collaboration diagram for ns3::WifiMacHeader:

Public Types

enum  AddressType { ADDR1 , ADDR2 , ADDR3 , ADDR4 }
 Address types. More...
 
enum  QosAckPolicy { NORMAL_ACK = 0 , NO_ACK = 1 , NO_EXPLICIT_ACK = 2 , BLOCK_ACK = 3 }
 Ack policy for QoS frames. More...
 
typedef void(* TracedCallback) (const WifiMacHeader &header)
 TracedCallback signature for WifiMacHeader.
 

Public Member Functions

 WifiMacHeader ()=default
 
 WifiMacHeader (WifiMacType type)
 Construct a MAC header of the given type.
 
uint32_t Deserialize (Buffer::Iterator start) override
 
Mac48Address GetAddr1 () const
 Return the address in the Address 1 field.
 
Mac48Address GetAddr2 () const
 Return the address in the Address 2 field.
 
Mac48Address GetAddr3 () const
 Return the address in the Address 3 field.
 
Mac48Address GetAddr4 () const
 Return the address in the Address 4 field.
 
Time GetDuration () const
 Return the duration from the Duration/ID field (Time object).
 
uint8_t GetFragmentNumber () const
 Return the fragment number of the header.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
QosAckPolicy GetQosAckPolicy () const
 Return the QoS Ack policy in the QoS control field.
 
uint8_t GetQosQueueSize () const
 Get the Queue Size subfield in the QoS control field.
 
uint8_t GetQosTid () const
 Return the Traffic ID of a QoS header.
 
uint16_t GetRawDuration () const
 Return the raw duration from the Duration/ID field.
 
uint16_t GetSequenceControl () const
 Return the raw Sequence Control field.
 
uint16_t GetSequenceNumber () const
 Return the sequence number of the header.
 
uint32_t GetSerializedSize () const override
 
virtual uint32_t GetSize () const
 Return the size of the WifiMacHeader in octets.
 
virtual WifiMacType GetType () const
 Return the type (WifiMacType)
 
virtual const char * GetTypeString () const
 Return a string corresponds to the header type.
 
bool HasData () const
 Return true if the header type is DATA and is not DATA_NULL.
 
bool IsAck () const
 Return true if the header is an Ack header.
 
bool IsAction () const
 Return true if the header is an Action header.
 
bool IsActionNoAck () const
 Return true if the header is an Action No Ack header.
 
bool IsAssocReq () const
 Return true if the header is an Association Request header.
 
bool IsAssocResp () const
 Return true if the header is an Association Response header.
 
bool IsAuthentication () const
 Return true if the header is an Authentication header.
 
bool IsBeacon () const
 Return true if the header is a Beacon header.
 
bool IsBlockAck () const
 Return true if the header is a BlockAck header.
 
bool IsBlockAckReq () const
 Return true if the header is a BlockAckRequest header.
 
bool IsCfAck () const
 Return true if the header is a CF-Ack header.
 
bool IsCfEnd () const
 Return true if the header is a CF-End header.
 
bool IsCfPoll () const
 Return true if the Type/Subtype is one of the possible CF-Poll headers.
 
bool IsCtl () const
 Return true if the Type is Control.
 
bool IsCts () const
 Return true if the header is a CTS header.
 
bool IsData () const
 Return true if the Type is DATA.
 
bool IsDeauthentication () const
 Return true if the header is a Deauthentication header.
 
bool IsDisassociation () const
 Return true if the header is a Disassociation header.
 
bool IsFromDs () const
 
bool IsMgt () const
 Return true if the Type is Management.
 
bool IsMoreData () const
 Return if the More Data bit is set.
 
bool IsMoreFragments () const
 Return if the More Fragment bit is set.
 
bool IsMultihopAction () const
 Check if the header is a Multihop action header.
 
bool IsPowerManagement () const
 Return if the Power Management bit is set.
 
bool IsProbeReq () const
 Return true if the header is a Probe Request header.
 
bool IsProbeResp () const
 Return true if the header is a Probe Response header.
 
bool IsPsPoll () const
 Return true if the header is a PS-POLL header.
 
bool IsQosAck () const
 Return if the QoS Ack policy is Normal Ack.
 
bool IsQosAmsdu () const
 Check if the A-MSDU present bit is set in the QoS control field.
 
bool IsQosBlockAck () const
 Return if the QoS Ack policy is Block Ack.
 
bool IsQosData () const
 Return true if the Type is DATA and Subtype is one of the possible values for QoS Data.
 
bool IsQosEosp () const
 Return if the end of service period (EOSP) is set.
 
bool IsQosNoAck () const
 Return if the QoS Ack policy is No Ack.
 
bool IsReassocReq () const
 Return true if the header is a Reassociation Request header.
 
bool IsReassocResp () const
 Return true if the header is a Reassociation Response header.
 
bool IsRetry () const
 Return if the Retry bit is set.
 
bool IsRts () const
 Return true if the header is a RTS header.
 
bool IsToDs () const
 
bool IsTrigger () const
 Return true if the header is a Trigger header.
 
void Print (std::ostream &os) const override
 
void Serialize (Buffer::Iterator start) const override
 
void SetAddr1 (Mac48Address address)
 Fill the Address 1 field with the given address.
 
void SetAddr2 (Mac48Address address)
 Fill the Address 2 field with the given address.
 
void SetAddr3 (Mac48Address address)
 Fill the Address 3 field with the given address.
 
void SetAddr4 (Mac48Address address)
 Fill the Address 4 field with the given address.
 
void SetDsFrom ()
 Set the From DS bit in the Frame Control field.
 
void SetDsNotFrom ()
 Un-set the From DS bit in the Frame Control field.
 
void SetDsNotTo ()
 Un-set the To DS bit in the Frame Control field.
 
void SetDsTo ()
 Set the To DS bit in the Frame Control field.
 
void SetDuration (Time duration)
 Set the Duration/ID field with the given duration (Time object).
 
void SetFragmentNumber (uint8_t frag)
 Set the fragment number of the header.
 
void SetId (uint16_t id)
 Set the Duration/ID field with the given ID.
 
void SetMoreFragments ()
 Set the More Fragment bit in the Frame Control field.
 
void SetNoMoreFragments ()
 Un-set the More Fragment bit in the Frame Control Field.
 
void SetNoOrder ()
 Unset order bit in the frame control field.
 
void SetNoPowerManagement ()
 Un-set the Power Management bit in the Frame Control field.
 
void SetNoRetry ()
 Un-set the Retry bit in the Frame Control field.
 
void SetOrder ()
 Set order bit in the frame control field.
 
void SetPowerManagement ()
 Set the Power Management bit in the Frame Control field.
 
void SetQosAckPolicy (QosAckPolicy policy)
 Set the QoS Ack policy in the QoS control field.
 
void SetQosAmsdu ()
 Set that A-MSDU is present.
 
void SetQosEosp ()
 Set the end of service period (EOSP) bit in the QoS control field.
 
void SetQosMeshControlPresent ()
 Set the Mesh Control Present flag for the QoS header.
 
void SetQosNoAmsdu ()
 Set that A-MSDU is not present.
 
void SetQosNoEosp ()
 Un-set the end of service period (EOSP) bit in the QoS control field.
 
void SetQosNoMeshControlPresent ()
 Clear the Mesh Control Present flag for the QoS header.
 
void SetQosQueueSize (uint8_t size)
 Set the Queue Size subfield in the QoS control field.
 
void SetQosTid (uint8_t tid)
 Set the TID for the QoS header.
 
void SetQosTxopLimit (uint8_t txop)
 Set TXOP limit in the QoS control field.
 
void SetRawDuration (uint16_t duration)
 Set the Duration/ID field with the given raw uint16_t value.
 
void SetRetry ()
 Set the Retry bit in the Frame Control field.
 
void SetSequenceNumber (uint16_t seq)
 Set the sequence number of the header.
 
virtual void SetType (WifiMacType type, bool resetToDsFromDs=true)
 Set Type/Subtype values with the correct values depending on the given type.
 
- 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.
 

Protected Member Functions

virtual uint16_t GetFrameControl () const
 Return the raw Frame Control field.
 
virtual uint16_t GetQosControl () const
 Return the raw QoS Control field.
 
void PrintFrameControl (std::ostream &os) const
 Print the Frame Control field to the output stream.
 
virtual void SetFrameControl (uint16_t control)
 Set the Frame Control field with the given raw value.
 
virtual void SetQosControl (uint16_t qos)
 Set the QoS Control field with the given raw value.
 
void SetSequenceControl (uint16_t seq)
 Set the Sequence Control field with the given raw value.
 
- 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.
 

Protected Attributes

Mac48Address m_addr1 {}
 address 1
 
Mac48Address m_addr2 {}
 address 2
 
Mac48Address m_addr3 {}
 address 3
 
Mac48Address m_addr4 {}
 address 4
 
uint8_t m_amsduPresent {0}
 A-MSDU present.
 
uint8_t m_ctrlFromDs {0}
 control from DS
 
uint8_t m_ctrlMoreData {0}
 control more data
 
uint8_t m_ctrlMoreFrag {0}
 control more fragments
 
uint8_t m_ctrlOrder {0}
 control order (set to 1 for QoS Data and Management frames to signify that HT/VHT/HE control field is present, knowing that the latter are not implemented yet)
 
uint8_t m_ctrlPowerManagement {0}
 control power management
 
uint8_t m_ctrlRetry {0}
 control retry
 
uint8_t m_ctrlSubtype {0}
 control subtype
 
uint8_t m_ctrlToDs {0}
 control to DS
 
uint8_t m_ctrlType {0}
 control type
 
uint8_t m_ctrlWep {0}
 control WEP
 
uint16_t m_duration {0}
 duration
 
uint8_t m_qosAckPolicy {0}
 QoS Ack policy.
 
uint8_t m_qosEosp {0}
 QoS EOSP.
 
uint8_t m_qosStuff {0}
 QoS stuff.
 
uint8_t m_qosTid {0}
 QoS TID.
 
uint8_t m_seqFrag {0}
 sequence fragment
 
uint16_t m_seqSeq {0}
 sequence sequence
 

Additional Inherited Members

Detailed Description

Implements the IEEE 802.11 MAC header.

Definition at line 86 of file wifi-mac-header.h.

Member Typedef Documentation

◆ TracedCallback

typedef void(* ns3::WifiMacHeader::TracedCallback) (const WifiMacHeader &header)

TracedCallback signature for WifiMacHeader.

Parameters
[in]headerThe header

Definition at line 625 of file wifi-mac-header.h.

Member Enumeration Documentation

◆ AddressType

Address types.

Enumerator
ADDR1 
ADDR2 
ADDR3 
ADDR4 

Definition at line 103 of file wifi-mac-header.h.

◆ QosAckPolicy

Ack policy for QoS frames.

Enumerator
NORMAL_ACK 
NO_ACK 
NO_EXPLICIT_ACK 
BLOCK_ACK 

Definition at line 92 of file wifi-mac-header.h.

Constructor & Destructor Documentation

◆ WifiMacHeader() [1/2]

ns3::WifiMacHeader::WifiMacHeader ( )
default

◆ WifiMacHeader() [2/2]

ns3::WifiMacHeader::WifiMacHeader ( WifiMacType type)

Construct a MAC header of the given type.

Parameters
typethe MAC header type

Definition at line 49 of file wifi-mac-header.cc.

References SetType().

+ Here is the call graph for this function:

Member Function Documentation

◆ Deserialize()

uint32_t ns3::WifiMacHeader::Deserialize ( Buffer::Iterator start)
overridevirtual
Parameters
startan iterator which points to where the header should read from.
Returns
the number of bytes read.

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.

Note that data is not actually removed from the buffer to which the iterator points. Both Packet::RemoveHeader() and Packet::PeekHeader() call Deserialize(), but only the RemoveHeader() has additional statements to remove the header bytes from the underlying buffer and associated metadata.

Implements ns3::Header.

Definition at line 1275 of file wifi-mac-header.cc.

References ns3::Buffer::Iterator::GetDistanceFrom(), m_addr1, m_addr2, m_addr3, m_addr4, m_ctrlFromDs, m_ctrlSubtype, m_ctrlToDs, m_ctrlType, m_duration, ns3::ReadFrom(), ns3::Buffer::Iterator::ReadLsbtohU16(), SetFrameControl(), SetQosControl(), SetSequenceControl(), ns3::SUBTYPE_CTL_ACK, ns3::SUBTYPE_CTL_BACKREQ, ns3::SUBTYPE_CTL_BACKRESP, ns3::SUBTYPE_CTL_CTS, ns3::SUBTYPE_CTL_END, ns3::SUBTYPE_CTL_END_ACK, ns3::SUBTYPE_CTL_PSPOLL, ns3::SUBTYPE_CTL_RTS, ns3::SUBTYPE_CTL_TRIGGER, ns3::TYPE_CTL, ns3::TYPE_DATA, and ns3::TYPE_MGT.

+ Here is the call graph for this function:

◆ GetAddr1()

Mac48Address ns3::WifiMacHeader::GetAddr1 ( ) const

Return the address in the Address 1 field.

Returns
the address in the Address 1 field

Definition at line 432 of file wifi-mac-header.cc.

References m_addr1.

Referenced by ns3::WifiTxParameters::AddMpdu(), ns3::WifiMpdu::Aggregate(), ns3::WifiPhyRxTraceSink::CountStatisticsForRecord(), ns3::QosFrameExchangeManager::FindTxopHolder(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfBarBaSequence(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiMpdu::GetDestinationAddress(), ns3::FrameExchangeManager::GetFrameDurationId(), ns3::MacTxMiddle::GetNextSequenceNumberFor(), ns3::WifiDefaultProtectionManager::GetPsduProtection(), ns3::WifiMacQueueContainer::GetQueueId(), ns3::BlockAckManager::HandleInFlightMpdu(), ns3::WifiRemoteStationManager::NeedRts(), ns3::QosTxop::PeekNextMpdu(), ns3::MacTxMiddle::PeekNextSequenceNumberFor(), ns3::aodv::Neighbors::ProcessTxError(), ns3::dsr::DsrRouteCache::ProcessTxError(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::flame::FlameProtocolMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::StaWifiMac::Receive(), WifiPrimaryChannelsTest::ReceiveDl(), ns3::AdvancedEmlsrManager::ReceivedMacHdr(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::QosFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReleaseSequenceNumbers(), ns3::WifiRemoteStationManager::ReportDataOk(), ns3::WifiRemoteStationManager::ReportFinalRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsOk(), ns3::BlockAckManager::ScheduleBar(), TestMultiUserScheduler::SelectTxFormat(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::MeshWifiInterfaceMac::SendManagementFrame(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), ns3::WifiAckManager::SetQosAckPolicy(), ns3::MacTxMiddle::SetSequenceNumberFor(), ns3::HtFrameExchangeManager::StartFrameExchange(), ns3::PyViz::TraceNetDevTxWifi(), TracePacketReception(), ns3::WifiDefaultAckManager::TryAddMpdu(), ns3::RrMultiUserScheduler::TrySendingBasicTf(), ns3::RrMultiUserScheduler::TrySendingBsrpTf(), ns3::ApWifiMac::TxFailed(), ns3::ApWifiMac::TxOk(), and ns3::dot11s::PeerManagementProtocolMac::UpdateOutcomingFrame().

+ Here is the caller graph for this function:

◆ GetAddr2()

Mac48Address ns3::WifiMacHeader::GetAddr2 ( ) const

Return the address in the Address 2 field.

Returns
the address in the Address 2 field

Definition at line 438 of file wifi-mac-header.cc.

References m_addr2.

Referenced by ns3::WifiMpdu::Aggregate(), ns3::EhtFrameExchangeManager::CheckEmlsrClientStartingTxop(), OfdmaAckSequenceTest::CheckResults(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::HeFrameExchangeManager::FindTxopHolder(), ns3::QosFrameExchangeManager::FindTxopHolder(), ns3::WifiMacQueueContainer::GetQueueId(), ns3::MacRxMiddle::Lookup(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosFrameExchangeManager::PreProcessFrame(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::flame::FlameProtocolMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveAction(), ns3::StaWifiMac::ReceiveAssocResp(), ns3::HeFrameExchangeManager::ReceiveBasicTrigger(), ns3::StaWifiMac::ReceiveBeacon(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::QosFrameExchangeManager::ReceiveMpdu(), ns3::StaWifiMac::ReceiveProbeResp(), ns3::EhtFrameExchangeManager::SendCtsAfterRts(), ns3::FrameExchangeManager::SendCtsAfterRts(), ns3::FrameExchangeManager::SendNormalAck(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), ns3::PyViz::TraceNetDevRxWifi(), TracePacketReception(), ns3::ApWifiMac::TxFailed(), ns3::ApWifiMac::TxOk(), and ns3::AnimationInterface::WifiPhyRxBeginTrace().

+ Here is the caller graph for this function:

◆ GetAddr3()

Mac48Address ns3::WifiMacHeader::GetAddr3 ( ) const

Return the address in the Address 3 field.

Returns
the address in the Address 3 field

Definition at line 444 of file wifi-mac-header.cc.

References m_addr3.

Referenced by ns3::ApWifiMac::Receive(), ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::StaWifiMac::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveAction(), ns3::StaWifiMac::ReceiveAssocResp(), ns3::StaWifiMac::ReceiveBeacon(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), ns3::StaWifiMac::ReceiveProbeResp(), ns3::PyViz::TraceNetDevRxWifi(), and ns3::PyViz::TraceNetDevTxWifi().

+ Here is the caller graph for this function:

◆ GetAddr4()

Mac48Address ns3::WifiMacHeader::GetAddr4 ( ) const

Return the address in the Address 4 field.

Returns
the address in the Address 4 field

Definition at line 450 of file wifi-mac-header.cc.

References m_addr4.

Referenced by ns3::MeshWifiInterfaceMac::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), and ns3::PyViz::TraceNetDevRxWifi().

+ Here is the caller graph for this function:

◆ GetDuration()

Time ns3::WifiMacHeader::GetDuration ( ) const

Return the duration from the Duration/ID field (Time object).

Returns
the duration from the Duration/ID field (Time object)

Definition at line 785 of file wifi-mac-header.cc.

References m_duration, and ns3::MicroSeconds().

Referenced by ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::HeFrameExchangeManager::ReceiveBasicTrigger(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::FrameExchangeManager::SendNormalAck(), and ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu().

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

◆ GetFragmentNumber()

uint8_t ns3::WifiMacHeader::GetFragmentNumber ( ) const

Return the fragment number of the header.

Returns
the fragment number of the header

Definition at line 803 of file wifi-mac-header.cc.

References m_seqFrag.

Referenced by ns3::FrameExchangeManager::GetFrameDurationId(), ns3::FrameExchangeManager::GetNextFragment(), ns3::WifiDefaultProtectionManager::GetPsduProtection(), ns3::MacRxMiddle::HandleFragments(), and ns3::WifiMpdu::IsFragment().

+ Here is the caller graph for this function:

◆ GetFrameControl()

uint16_t ns3::WifiMacHeader::GetFrameControl ( ) const
protectedvirtual

Return the raw Frame Control field.

Returns
the raw Frame Control field

Definition at line 908 of file wifi-mac-header.cc.

References m_ctrlFromDs, m_ctrlMoreData, m_ctrlMoreFrag, m_ctrlOrder, m_ctrlPowerManagement, m_ctrlRetry, m_ctrlSubtype, m_ctrlToDs, m_ctrlType, and m_ctrlWep.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::WifiMacHeader::GetInstanceTypeId ( ) const
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.

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

Implements ns3::ObjectBase.

Definition at line 1082 of file wifi-mac-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetQosAckPolicy()

WifiMacHeader::QosAckPolicy ns3::WifiMacHeader::GetQosAckPolicy ( ) const

Return the QoS Ack policy in the QoS control field.

Returns
the QoS Ack policy in the QoS control field

Definition at line 861 of file wifi-mac-header.cc.

References BLOCK_ACK, IsQosData(), m_qosAckPolicy, NO_ACK, NO_EXPLICIT_ACK, NORMAL_ACK, NS_ABORT_MSG, and NS_ASSERT.

Referenced by ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), and ns3::QosFrameExchangeManager::ReceiveMpdu().

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

◆ GetQosControl()

uint16_t ns3::WifiMacHeader::GetQosControl ( ) const
protectedvirtual

Return the raw QoS Control field.

Returns
the raw QoS Control field

Definition at line 925 of file wifi-mac-header.cc.

References m_amsduPresent, m_qosAckPolicy, m_qosEosp, m_qosStuff, and m_qosTid.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ GetQosQueueSize()

uint8_t ns3::WifiMacHeader::GetQosQueueSize ( ) const

Get the Queue Size subfield in the QoS control field.

Returns
the value of the Queue Size subfield

Definition at line 901 of file wifi-mac-header.cc.

References m_qosEosp, m_qosStuff, and NS_ASSERT.

Referenced by ns3::QosFrameExchangeManager::PreProcessFrame().

+ Here is the caller graph for this function:

◆ GetQosTid()

uint8_t ns3::WifiMacHeader::GetQosTid ( ) const

Return the Traffic ID of a QoS header.

Returns
the Traffic ID of a QoS header

Definition at line 894 of file wifi-mac-header.cc.

References IsQosData(), m_qosTid, and NS_ASSERT.

Referenced by ns3::WifiTxParameters::AddMpdu(), OfdmaAckSequenceTest::CheckResults(), ns3::HtFrameExchangeManager::FinalizeMacHeader(), ns3::QosFrameExchangeManager::ForwardMpduDown(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfBarBaSequence(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::MacTxMiddle::GetNextSequenceNumberFor(), ns3::WifiMacQueueContainer::GetQueueId(), ns3::GetTid(), ns3::BlockAckManager::HandleInFlightMpdu(), ns3::MacRxMiddle::Lookup(), ns3::QosTxop::PeekNextMpdu(), ns3::MacTxMiddle::PeekNextSequenceNumberFor(), ns3::QosFrameExchangeManager::PreProcessFrame(), ns3::ApWifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReleaseSequenceNumbers(), ns3::WifiRemoteStationManager::ReportDataOk(), ns3::WifiRemoteStationManager::ReportFinalRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsOk(), ns3::WifiAckManager::SetQosAckPolicy(), ns3::MacTxMiddle::SetSequenceNumberFor(), ns3::HtFrameExchangeManager::StartFrameExchange(), and ns3::WifiDefaultAckManager::TryAddMpdu().

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

◆ GetRawDuration()

uint16_t ns3::WifiMacHeader::GetRawDuration ( ) const

Return the raw duration from the Duration/ID field.

Returns
the raw duration from the Duration/ID field

Definition at line 779 of file wifi-mac-header.cc.

References m_duration.

◆ GetSequenceControl()

uint16_t ns3::WifiMacHeader::GetSequenceControl ( ) const

Return the raw Sequence Control field.

Returns
the raw Sequence Control field

Definition at line 791 of file wifi-mac-header.cc.

References m_seqFrag, and m_seqSeq.

Referenced by ns3::MacRxMiddle::HandleFragments(), ns3::MacRxMiddle::IsDuplicate(), and Serialize().

+ Here is the caller graph for this function:

◆ GetSequenceNumber()

uint16_t ns3::WifiMacHeader::GetSequenceNumber ( ) const

Return the sequence number of the header.

Returns
the sequence number of the header

Definition at line 797 of file wifi-mac-header.cc.

References m_seqSeq.

Referenced by ns3::WifiTxParameters::AddMpdu(), ns3::MacRxMiddle::HandleFragments(), ns3::BlockAckManager::HandleInFlightMpdu(), PreservePacketsInAmpdus::NotifyMacHeaderEndRx(), ns3::QosTxop::PeekNextMpdu(), ns3::HtFrameExchangeManager::ReleaseSequenceNumbers(), ns3::MacTxMiddle::SetSequenceNumberFor(), and ns3::HtFrameExchangeManager::StartFrameExchange().

+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::WifiMacHeader::GetSerializedSize ( ) const
overridevirtual
Returns
the expected size of the header.

This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. This method should return the number of bytes which are needed to store the full header data by Serialize.

Implements ns3::Header.

Definition at line 1214 of file wifi-mac-header.cc.

References GetSize().

Referenced by ns3::WifiPsdu::WifiPsdu(), TxDurationTest::CalculateTxDurationUsingList(), ns3::AdvancedEmlsrManager::DoGetDelayUntilAccessRequest(), ns3::MultiUserScheduler::GetMaxSizeOfQosNullAmpdu(), ns3::WifiMpdu::GetSize(), InterferenceExperiment::SendA(), and InterferenceExperiment::SendB().

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

◆ GetSize()

◆ GetType()

WifiMacType ns3::WifiMacHeader::GetType ( ) const
virtual

Return the type (WifiMacType)

Returns
the type (WifiMacType)

Definition at line 456 of file wifi-mac-header.cc.

References m_ctrlSubtype, m_ctrlType, NS_ASSERT, ns3::SUBTYPE_CTL_ACK, ns3::SUBTYPE_CTL_BACKREQ, ns3::SUBTYPE_CTL_BACKRESP, ns3::SUBTYPE_CTL_CTS, ns3::SUBTYPE_CTL_END, ns3::SUBTYPE_CTL_END_ACK, ns3::SUBTYPE_CTL_PSPOLL, ns3::SUBTYPE_CTL_RTS, ns3::SUBTYPE_CTL_TRIGGER, ns3::TYPE_CTL, ns3::TYPE_DATA, ns3::TYPE_MGT, ns3::WIFI_MAC_CTL_ACK, ns3::WIFI_MAC_CTL_BACKREQ, ns3::WIFI_MAC_CTL_BACKRESP, ns3::WIFI_MAC_CTL_CTS, ns3::WIFI_MAC_CTL_END, ns3::WIFI_MAC_CTL_END_ACK, ns3::WIFI_MAC_CTL_PSPOLL, ns3::WIFI_MAC_CTL_RTS, ns3::WIFI_MAC_CTL_TRIGGER, ns3::WIFI_MAC_DATA, ns3::WIFI_MAC_DATA_CFACK, ns3::WIFI_MAC_DATA_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_CFPOLL, ns3::WIFI_MAC_DATA_NULL, ns3::WIFI_MAC_DATA_NULL_CFACK, ns3::WIFI_MAC_DATA_NULL_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_NULL_CFPOLL, ns3::WIFI_MAC_MGT_ACTION, ns3::WIFI_MAC_MGT_ACTION_NO_ACK, ns3::WIFI_MAC_MGT_ASSOCIATION_REQUEST, ns3::WIFI_MAC_MGT_ASSOCIATION_RESPONSE, ns3::WIFI_MAC_MGT_AUTHENTICATION, ns3::WIFI_MAC_MGT_BEACON, ns3::WIFI_MAC_MGT_DEAUTHENTICATION, ns3::WIFI_MAC_MGT_DISASSOCIATION, ns3::WIFI_MAC_MGT_MULTIHOP_ACTION, ns3::WIFI_MAC_MGT_PROBE_REQUEST, ns3::WIFI_MAC_MGT_PROBE_RESPONSE, ns3::WIFI_MAC_MGT_REASSOCIATION_REQUEST, ns3::WIFI_MAC_MGT_REASSOCIATION_RESPONSE, ns3::WIFI_MAC_QOSDATA, ns3::WIFI_MAC_QOSDATA_CFACK, ns3::WIFI_MAC_QOSDATA_CFACK_CFPOLL, ns3::WIFI_MAC_QOSDATA_CFPOLL, ns3::WIFI_MAC_QOSDATA_NULL, ns3::WIFI_MAC_QOSDATA_NULL_CFACK_CFPOLL, and ns3::WIFI_MAC_QOSDATA_NULL_CFPOLL.

Referenced by OfdmaAckSequenceTest::CheckResults(), ns3::WifiPhyRxTraceSink::CountStatisticsForRecord(), GetTypeString(), HasData(), IsAck(), IsAction(), IsActionNoAck(), IsAssocReq(), IsAssocResp(), IsAuthentication(), IsBeacon(), IsBlockAck(), IsBlockAckReq(), IsCfAck(), IsCfEnd(), IsCfPoll(), IsCts(), IsDeauthentication(), IsDisassociation(), IsMultihopAction(), IsProbeReq(), IsProbeResp(), IsPsPoll(), IsReassocReq(), IsReassocResp(), IsRts(), IsTrigger(), Print(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), and ns3::ApWifiMac::SendAssocResp().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::WifiMacHeader::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 1072 of file wifi-mac-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:

◆ GetTypeString()

const char * ns3::WifiMacHeader::GetTypeString ( ) const
virtual

Return a string corresponds to the header type.

Returns
a string corresponds to the header type.

Definition at line 1014 of file wifi-mac-header.cc.

References CASE_WIFI_MAC_TYPE, ns3::DATA, and GetType().

Referenced by Print(), ns3::FrameExchangeManager::ReceiveMpdu(), and ns3::QosFrameExchangeManager::ReceiveMpdu().

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

◆ HasData()

bool ns3::WifiMacHeader::HasData ( ) const

Return true if the header type is DATA and is not DATA_NULL.

Returns
true if the header type is DATA and is not DATA_NULL, false otherwise

Definition at line 640 of file wifi-mac-header.cc.

References GetType(), ns3::WIFI_MAC_DATA, ns3::WIFI_MAC_DATA_CFACK, ns3::WIFI_MAC_DATA_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_CFPOLL, ns3::WIFI_MAC_QOSDATA, ns3::WIFI_MAC_QOSDATA_CFACK, ns3::WIFI_MAC_QOSDATA_CFACK_CFPOLL, and ns3::WIFI_MAC_QOSDATA_CFPOLL.

Referenced by ns3::WifiTxParameters::AddMpdu(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), and ns3::WifiDefaultAckManager::TryAddMpdu().

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

◆ IsAck()

bool ns3::WifiMacHeader::IsAck ( ) const

Return true if the header is an Ack header.

Returns
true if the header is an Ack header, false otherwise

Definition at line 677 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_ACK.

Referenced by ns3::FrameExchangeManager::ReceiveMpdu(), and ns3::HeFrameExchangeManager::ReceiveMpdu().

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

◆ IsAction()

bool ns3::WifiMacHeader::IsAction ( ) const

Return true if the header is an Action header.

Returns
true if the header is an Action header, false otherwise

Definition at line 743 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_ACTION.

Referenced by ns3::GetTid(), ns3::dot11s::HwmpProtocolMac::Receive(), ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::HtFrameExchangeManager::ReceiveMpdu(), Bug2470TestCase::RxErrorCallback(), ns3::ApWifiMac::TxOk(), and ns3::dot11s::PeerManagementProtocolMac::UpdateOutcomingFrame().

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

◆ IsActionNoAck()

bool ns3::WifiMacHeader::IsActionNoAck ( ) const

Return true if the header is an Action No Ack header.

Returns
true if the header is an Action No Ack header, false otherwise

Definition at line 749 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_ACTION_NO_ACK.

+ Here is the call graph for this function:

◆ IsAssocReq()

bool ns3::WifiMacHeader::IsAssocReq ( ) const

Return true if the header is an Association Request header.

Returns
true if the header is an Association Request header, false otherwise

Definition at line 683 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_ASSOCIATION_REQUEST.

Referenced by ns3::ApWifiMac::Receive(), and Bug2831TestCase::RxCallback().

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

◆ IsAssocResp()

bool ns3::WifiMacHeader::IsAssocResp ( ) const

Return true if the header is an Association Response header.

Returns
true if the header is an Association Response header, false otherwise

Definition at line 689 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_ASSOCIATION_RESPONSE.

Referenced by ns3::StaWifiMac::ReceiveAssocResp(), Bug2831TestCase::RxCallback(), ns3::ApWifiMac::TxFailed(), and ns3::ApWifiMac::TxOk().

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

◆ IsAuthentication()

bool ns3::WifiMacHeader::IsAuthentication ( ) const

Return true if the header is an Authentication header.

Returns
true if the header is an Authentication header, false otherwise

Definition at line 731 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_AUTHENTICATION.

+ Here is the call graph for this function:

◆ IsBeacon()

bool ns3::WifiMacHeader::IsBeacon ( ) const

Return true if the header is a Beacon header.

Returns
true if the header is a Beacon header, false otherwise

Definition at line 719 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_BEACON.

Referenced by ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::StaWifiMac::ReceiveBeacon(), ns3::FrameExchangeManager::ReceiveMpdu(), and Bug2831TestCase::RxCallback().

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

◆ IsBlockAck()

bool ns3::WifiMacHeader::IsBlockAck ( ) const

Return true if the header is a BlockAck header.

Returns
true if the header is a BlockAck header, false otherwise

Definition at line 767 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_BACKRESP.

Referenced by ns3::GetTid(), BlockAckAggregationDisabledTest::Receive(), ns3::HeFrameExchangeManager::ReceiveMpdu(), and ns3::HtFrameExchangeManager::ReceiveMpdu().

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

◆ IsBlockAckReq()

bool ns3::WifiMacHeader::IsBlockAckReq ( ) const

Return true if the header is a BlockAckRequest header.

Returns
true if the header is a BlockAckRequest header, false otherwise

Definition at line 761 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_BACKREQ.

Referenced by ns3::QosFrameExchangeManager::FindTxopHolder(), ns3::GetTid(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), BlockAckAggregationDisabledTest::Transmit(), and ns3::WifiDefaultAckManager::TryAddMpdu().

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

◆ IsCfAck()

bool ns3::WifiMacHeader::IsCfAck ( ) const

Return true if the header is a CF-Ack header.

Returns
true if the header is a CF-Ack header, false otherwise

Definition at line 624 of file wifi-mac-header.cc.

References GetType(), ns3::WIFI_MAC_CTL_END_ACK, ns3::WIFI_MAC_DATA_CFACK, ns3::WIFI_MAC_DATA_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_NULL_CFACK, and ns3::WIFI_MAC_DATA_NULL_CFACK_CFPOLL.

+ Here is the call graph for this function:

◆ IsCfEnd()

bool ns3::WifiMacHeader::IsCfEnd ( ) const

Return true if the header is a CF-End header.

Returns
true if the header is a CF-End header, false otherwise

Definition at line 611 of file wifi-mac-header.cc.

References GetType(), ns3::WIFI_MAC_CTL_END, and ns3::WIFI_MAC_CTL_END_ACK.

+ Here is the call graph for this function:

◆ IsCfPoll()

bool ns3::WifiMacHeader::IsCfPoll ( ) const

Return true if the Type/Subtype is one of the possible CF-Poll headers.

Returns
true if the Type/Subtype is one of the possible CF-Poll headers, false otherwise

Definition at line 592 of file wifi-mac-header.cc.

References GetType(), ns3::WIFI_MAC_DATA_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_CFPOLL, ns3::WIFI_MAC_DATA_NULL_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_NULL_CFPOLL, ns3::WIFI_MAC_QOSDATA_CFACK_CFPOLL, ns3::WIFI_MAC_QOSDATA_CFPOLL, ns3::WIFI_MAC_QOSDATA_NULL_CFACK_CFPOLL, and ns3::WIFI_MAC_QOSDATA_NULL_CFPOLL.

+ Here is the call graph for this function:

◆ IsCtl()

bool ns3::WifiMacHeader::IsCtl ( ) const

Return true if the Type is Control.

Returns
true if Type is Control, false otherwise

Definition at line 580 of file wifi-mac-header.cc.

References m_ctrlType, and ns3::TYPE_CTL.

Referenced by ns3::WifiMacQueueContainer::GetQueueId(), ns3::AdhocWifiMac::Receive(), ns3::StaWifiMac::Receive(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::ReceiveMpdu(), and ns3::HtFrameExchangeManager::ReceiveMpdu().

+ Here is the caller graph for this function:

◆ IsCts()

bool ns3::WifiMacHeader::IsCts ( ) const

Return true if the header is a CTS header.

Returns
true if the header is a CTS header, false otherwise

Definition at line 665 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_CTS.

Referenced by ns3::QosFrameExchangeManager::FindTxopHolder(), ns3::AdvancedEmlsrManager::ReceivedMacHdr(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::ReceiveMpdu(), and ns3::HtFrameExchangeManager::ReceiveMpdu().

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

◆ IsData()

bool ns3::WifiMacHeader::IsData ( ) const

Return true if the Type is DATA.

The method does not check the Subtype field. (e.g. the header may be Data with QoS)

Returns
true if Type is DATA, false otherwise

Definition at line 568 of file wifi-mac-header.cc.

References m_ctrlType, and ns3::TYPE_DATA.

Referenced by ns3::WifiPhyRxTraceSink::CountStatisticsForRecord(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::dot11s::HwmpProtocolMac::Receive(), ns3::flame::FlameProtocolMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::StaWifiMac::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), ns3::FrameExchangeManager::ReceiveMpdu(), Bug2470TestCase::RxCallback(), ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame(), and ns3::flame::FlameProtocolMac::UpdateOutcomingFrame().

+ Here is the caller graph for this function:

◆ IsDeauthentication()

bool ns3::WifiMacHeader::IsDeauthentication ( ) const

Return true if the header is a Deauthentication header.

Returns
true if the header is a Deauthentication header, false otherwise

Definition at line 737 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_DEAUTHENTICATION.

+ Here is the call graph for this function:

◆ IsDisassociation()

bool ns3::WifiMacHeader::IsDisassociation ( ) const

Return true if the header is a Disassociation header.

Returns
true if the header is a Disassociation header, false otherwise

Definition at line 725 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_DISASSOCIATION.

+ Here is the call graph for this function:

◆ IsFromDs()

bool ns3::WifiMacHeader::IsFromDs ( ) const
Returns
true if From DS bit is set, false otherwise

Definition at line 556 of file wifi-mac-header.cc.

References m_ctrlFromDs.

Referenced by ns3::WifiMpdu::Aggregate(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), and ns3::PyViz::TraceNetDevRxWifi().

+ Here is the caller graph for this function:

◆ IsMgt()

bool ns3::WifiMacHeader::IsMgt ( ) const

Return true if the Type is Management.

Returns
true if Type is Management, false otherwise

Definition at line 586 of file wifi-mac-header.cc.

References m_ctrlType, and ns3::TYPE_MGT.

Referenced by ns3::QosFrameExchangeManager::FindTxopHolder(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiMacQueueContainer::GetQueueId(), ns3::GetTid(), ns3::ApWifiMac::Receive(), ns3::FrameExchangeManager::ReceiveMpdu(), and ns3::HtFrameExchangeManager::ReceiveMpdu().

+ Here is the caller graph for this function:

◆ IsMoreData()

bool ns3::WifiMacHeader::IsMoreData ( ) const

Return if the More Data bit is set.

Returns
true if the More Data bit is set, false otherwise

Definition at line 815 of file wifi-mac-header.cc.

References m_ctrlMoreData.

◆ IsMoreFragments()

bool ns3::WifiMacHeader::IsMoreFragments ( ) const

Return if the More Fragment bit is set.

Returns
true if the More Fragment bit is set, false otherwise

Definition at line 821 of file wifi-mac-header.cc.

References m_ctrlMoreFrag.

Referenced by ns3::FrameExchangeManager::GetFrameDurationId(), ns3::MacRxMiddle::HandleFragments(), and ns3::WifiMpdu::IsFragment().

+ Here is the caller graph for this function:

◆ IsMultihopAction()

bool ns3::WifiMacHeader::IsMultihopAction ( ) const

Check if the header is a Multihop action header.

Returns
true if the header is a Multihop action header, false otherwise

Definition at line 755 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_MULTIHOP_ACTION.

+ Here is the call graph for this function:

◆ IsPowerManagement()

bool ns3::WifiMacHeader::IsPowerManagement ( ) const

Return if the Power Management bit is set.

Returns
true if the Power Management bit is set, false otherwise

Definition at line 827 of file wifi-mac-header.cc.

References m_ctrlPowerManagement.

Referenced by ns3::StaWifiMac::TxOk().

+ Here is the caller graph for this function:

◆ IsProbeReq()

bool ns3::WifiMacHeader::IsProbeReq ( ) const

Return true if the header is a Probe Request header.

Returns
true if the header is a Probe Request header, false otherwise

Definition at line 707 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_PROBE_REQUEST.

Referenced by ns3::ApWifiMac::Receive().

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

◆ IsProbeResp()

bool ns3::WifiMacHeader::IsProbeResp ( ) const

Return true if the header is a Probe Response header.

Returns
true if the header is a Probe Response header, false otherwise

Definition at line 713 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_PROBE_RESPONSE.

Referenced by ns3::FrameExchangeManager::ReceiveMpdu(), and ns3::StaWifiMac::ReceiveProbeResp().

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

◆ IsPsPoll()

bool ns3::WifiMacHeader::IsPsPoll ( ) const

Return true if the header is a PS-POLL header.

Returns
true if the header is a PS-POLL header, false otherwise

Definition at line 671 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_PSPOLL.

+ Here is the call graph for this function:

◆ IsQosAck()

bool ns3::WifiMacHeader::IsQosAck ( ) const

Return if the QoS Ack policy is Normal Ack.

Returns
true if the QoS Ack policy is No Ack, false otherwise

Definition at line 847 of file wifi-mac-header.cc.

References IsQosData(), m_qosAckPolicy, and NS_ASSERT.

Referenced by Print().

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

◆ IsQosAmsdu()

bool ns3::WifiMacHeader::IsQosAmsdu ( ) const

Check if the A-MSDU present bit is set in the QoS control field.

Returns
true if the A-MSDU present bit is set, false otherwise

Definition at line 887 of file wifi-mac-header.cc.

References IsQosData(), m_amsduPresent, and NS_ASSERT.

Referenced by ns3::WifiMpdu::WifiMpdu(), Print(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), and ns3::StaWifiMac::Receive().

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

◆ IsQosBlockAck()

bool ns3::WifiMacHeader::IsQosBlockAck ( ) const

Return if the QoS Ack policy is Block Ack.

Returns
true if the QoS Ack policy is Block Ack, false otherwise

Definition at line 833 of file wifi-mac-header.cc.

References IsQosData(), m_qosAckPolicy, and NS_ASSERT.

Referenced by Print(), and BlockAckAggregationDisabledTest::Transmit().

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

◆ IsQosData()

bool ns3::WifiMacHeader::IsQosData ( ) const

Return true if the Type is DATA and Subtype is one of the possible values for QoS Data.

Returns
true if Type is QoS DATA, false otherwise

Definition at line 574 of file wifi-mac-header.cc.

References m_ctrlSubtype, m_ctrlType, and ns3::TYPE_DATA.

Referenced by ns3::WifiMpdu::WifiMpdu(), ns3::WifiTxParameters::AddMpdu(), ns3::HtFrameExchangeManager::FinalizeMacHeader(), ns3::QosFrameExchangeManager::FindTxopHolder(), ns3::QosFrameExchangeManager::ForwardMpduDown(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfBarBaSequence(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::MacTxMiddle::GetNextSequenceNumberFor(), GetQosAckPolicy(), GetQosTid(), ns3::WifiMacQueueContainer::GetQueueId(), ns3::GetTid(), ns3::BlockAckManager::HandleInFlightMpdu(), IsQosAck(), IsQosAmsdu(), IsQosBlockAck(), IsQosEosp(), IsQosNoAck(), ns3::MacRxMiddle::Lookup(), ns3::QosTxop::PeekNextMpdu(), ns3::MacTxMiddle::PeekNextSequenceNumberFor(), ns3::QosFrameExchangeManager::PreProcessFrame(), Print(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::StaWifiMac::Receive(), WifiPrimaryChannelsTest::ReceiveDl(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::QosFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReleaseSequenceNumbers(), ns3::WifiRemoteStationManager::ReportDataOk(), ns3::WifiRemoteStationManager::ReportFinalRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsOk(), ns3::WifiAckManager::SetQosAckPolicy(), ns3::MacTxMiddle::SetSequenceNumberFor(), ns3::HtFrameExchangeManager::StartFrameExchange(), BlockAckAggregationDisabledTest::Transmit(), QosFragmentationTestCase::Transmit(), and ns3::WifiDefaultAckManager::TryAddMpdu().

+ Here is the caller graph for this function:

◆ IsQosEosp()

bool ns3::WifiMacHeader::IsQosEosp ( ) const

Return if the end of service period (EOSP) is set.

Returns
true if the end of service period (EOSP) is set, false otherwise

Definition at line 854 of file wifi-mac-header.cc.

References IsQosData(), m_qosEosp, and NS_ASSERT.

Referenced by ns3::HtFrameExchangeManager::FinalizeMacHeader(), ns3::QosFrameExchangeManager::ForwardMpduDown(), and ns3::QosFrameExchangeManager::PreProcessFrame().

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

◆ IsQosNoAck()

bool ns3::WifiMacHeader::IsQosNoAck ( ) const

Return if the QoS Ack policy is No Ack.

Returns
true if the QoS Ack policy is No Ack, false otherwise

Definition at line 840 of file wifi-mac-header.cc.

References IsQosData(), m_qosAckPolicy, and NS_ASSERT.

Referenced by Print().

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

◆ IsReassocReq()

bool ns3::WifiMacHeader::IsReassocReq ( ) const

Return true if the header is a Reassociation Request header.

Returns
true if the header is a Reassociation Request header, false otherwise

Definition at line 695 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_REASSOCIATION_REQUEST.

Referenced by ns3::ApWifiMac::Receive().

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

◆ IsReassocResp()

bool ns3::WifiMacHeader::IsReassocResp ( ) const

Return true if the header is a Reassociation Response header.

Returns
true if the header is a Reassociation Response header, false otherwise

Definition at line 701 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_REASSOCIATION_RESPONSE.

Referenced by ns3::StaWifiMac::ReceiveAssocResp(), ns3::ApWifiMac::TxFailed(), and ns3::ApWifiMac::TxOk().

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

◆ IsRetry()

bool ns3::WifiMacHeader::IsRetry ( ) const

Return if the Retry bit is set.

Returns
true if the Retry bit is set, false otherwise

Definition at line 809 of file wifi-mac-header.cc.

References m_ctrlRetry.

Referenced by ns3::WifiDefaultProtectionManager::GetPsduProtection(), ns3::MacRxMiddle::IsDuplicate(), ns3::HtFrameExchangeManager::ReleaseSequenceNumbers(), and ns3::HtFrameExchangeManager::StartFrameExchange().

+ Here is the caller graph for this function:

◆ IsRts()

bool ns3::WifiMacHeader::IsRts ( ) const

Return true if the header is a RTS header.

Returns
true if the header is a RTS header, false otherwise

Definition at line 659 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_RTS.

Referenced by ns3::QosFrameExchangeManager::FindTxopHolder(), ns3::FrameExchangeManager::ReceiveMpdu(), and ns3::QosFrameExchangeManager::ReceiveMpdu().

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

◆ IsToDs()

bool ns3::WifiMacHeader::IsToDs ( ) const
Returns
true if To DS bit is set, false otherwise

Definition at line 562 of file wifi-mac-header.cc.

References m_ctrlToDs.

Referenced by ns3::WifiMpdu::Aggregate(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), ns3::PyViz::TraceNetDevRxWifi(), and ns3::PyViz::TraceNetDevTxWifi().

+ Here is the caller graph for this function:

◆ IsTrigger()

bool ns3::WifiMacHeader::IsTrigger ( ) const

Return true if the header is a Trigger header.

Returns
true if the header is a Trigger header, false otherwise

Definition at line 773 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_TRIGGER.

Referenced by ns3::HeFrameExchangeManager::FindTxopHolder(), WifiPrimaryChannelsTest::ReceiveDl(), ns3::HeFrameExchangeManager::ReceiveMpdu(), and ns3::WifiDefaultAckManager::TryAddMpdu().

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

◆ Print()

void ns3::WifiMacHeader::Print ( std::ostream & os) const
overridevirtual
Parameters
osoutput stream This method is used by Packet::Print to print the content of a 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. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5

Implements ns3::Header.

Definition at line 1099 of file wifi-mac-header.cc.

References GetType(), GetTypeString(), IsQosAck(), IsQosAmsdu(), IsQosBlockAck(), IsQosData(), IsQosNoAck(), m_addr1, m_addr2, m_addr3, m_addr4, m_ctrlFromDs, m_ctrlToDs, m_duration, m_qosTid, m_seqFrag, m_seqSeq, NS_FATAL_ERROR, PrintFrameControl(), ns3::WIFI_MAC_CTL_ACK, ns3::WIFI_MAC_CTL_BACKREQ, ns3::WIFI_MAC_CTL_BACKRESP, ns3::WIFI_MAC_CTL_CTLWRAPPER, ns3::WIFI_MAC_CTL_CTS, ns3::WIFI_MAC_CTL_END, ns3::WIFI_MAC_CTL_END_ACK, ns3::WIFI_MAC_CTL_PSPOLL, ns3::WIFI_MAC_CTL_RTS, ns3::WIFI_MAC_CTL_TRIGGER, ns3::WIFI_MAC_DATA, ns3::WIFI_MAC_DATA_CFACK, ns3::WIFI_MAC_DATA_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_CFPOLL, ns3::WIFI_MAC_DATA_NULL, ns3::WIFI_MAC_DATA_NULL_CFACK, ns3::WIFI_MAC_DATA_NULL_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_NULL_CFPOLL, ns3::WIFI_MAC_MGT_ACTION, ns3::WIFI_MAC_MGT_ACTION_NO_ACK, ns3::WIFI_MAC_MGT_ASSOCIATION_REQUEST, ns3::WIFI_MAC_MGT_ASSOCIATION_RESPONSE, ns3::WIFI_MAC_MGT_AUTHENTICATION, ns3::WIFI_MAC_MGT_BEACON, ns3::WIFI_MAC_MGT_DEAUTHENTICATION, ns3::WIFI_MAC_MGT_DISASSOCIATION, ns3::WIFI_MAC_MGT_MULTIHOP_ACTION, ns3::WIFI_MAC_MGT_PROBE_REQUEST, ns3::WIFI_MAC_MGT_PROBE_RESPONSE, ns3::WIFI_MAC_MGT_REASSOCIATION_REQUEST, ns3::WIFI_MAC_MGT_REASSOCIATION_RESPONSE, ns3::WIFI_MAC_QOSDATA, ns3::WIFI_MAC_QOSDATA_CFACK, ns3::WIFI_MAC_QOSDATA_CFACK_CFPOLL, ns3::WIFI_MAC_QOSDATA_CFPOLL, ns3::WIFI_MAC_QOSDATA_NULL, ns3::WIFI_MAC_QOSDATA_NULL_CFACK_CFPOLL, and ns3::WIFI_MAC_QOSDATA_NULL_CFPOLL.

+ Here is the call graph for this function:

◆ PrintFrameControl()

void ns3::WifiMacHeader::PrintFrameControl ( std::ostream & os) const
protected

Print the Frame Control field to the output stream.

Parameters
osthe output stream to print to

Definition at line 1088 of file wifi-mac-header.cc.

References m_ctrlFromDs, m_ctrlMoreData, m_ctrlMoreFrag, m_ctrlPowerManagement, m_ctrlRetry, and m_ctrlToDs.

Referenced by Print().

+ Here is the caller graph for this function:

◆ Serialize()

void ns3::WifiMacHeader::Serialize ( Buffer::Iterator start) const
overridevirtual
Parameters
startan iterator which points to where the header should be written.

This method is used by Packet::AddHeader to store a 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.

Implements ns3::Header.

Definition at line 1220 of file wifi-mac-header.cc.

References GetFrameControl(), GetQosControl(), GetSequenceControl(), m_addr1, m_addr2, m_addr3, m_addr4, m_ctrlFromDs, m_ctrlSubtype, m_ctrlToDs, m_ctrlType, m_duration, NS_ASSERT, ns3::SUBTYPE_CTL_ACK, ns3::SUBTYPE_CTL_BACKREQ, ns3::SUBTYPE_CTL_BACKRESP, ns3::SUBTYPE_CTL_CTS, ns3::SUBTYPE_CTL_END, ns3::SUBTYPE_CTL_END_ACK, ns3::SUBTYPE_CTL_PSPOLL, ns3::SUBTYPE_CTL_RTS, ns3::SUBTYPE_CTL_TRIGGER, ns3::TYPE_CTL, ns3::TYPE_DATA, ns3::TYPE_MGT, ns3::Buffer::Iterator::WriteHtolsbU16(), and ns3::WriteTo().

+ Here is the call graph for this function:

◆ SetAddr1()

void ns3::WifiMacHeader::SetAddr1 ( Mac48Address address)

Fill the Address 1 field with the given address.

Parameters
addressthe address to be used in the Address 1 field

Definition at line 80 of file wifi-mac-header.cc.

References m_addr1.

Referenced by ns3::MeshWifiBeacon::CreateHeader(), BlockAckRecipientBufferTest::DoRun(), WifiMacQueueDropOldestTest::DoRun(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), WifiPrimaryChannelsTest::DoSetup(), WifiExtractExpiredMpdusTest::Enqueue(), AmpduAggregationTest::EnqueuePkts(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::ApWifiMac::GetFilsDiscovery(), ns3::MultiUserScheduler::GetTriggerFrame(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), ns3::BlockAckManager::NotifyDiscardedMpdu(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosTxop::PrepareBlockAckRequest(), ns3::HeFrameExchangeManager::PrepareMuBar(), TestMultipleHeTbPreambles::RxHeTbPpdu(), TestMultiUserScheduler::SelectTxFormat(), ns3::HtFrameExchangeManager::SendAddBaRequest(), ns3::HtFrameExchangeManager::SendAddBaResponse(), ns3::StaWifiMac::SendAssociationRequest(), ns3::ApWifiMac::SendAssocResp(), ns3::HtFrameExchangeManager::SendBlockAck(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::FrameExchangeManager::SendCtsToSelf(), ns3::HtFrameExchangeManager::SendDelbaFrame(), WifiPrimaryChannelsTest::SendDlMuPpdu(), WifiPrimaryChannelsTest::SendDlSuPpdu(), ns3::EhtFrameExchangeManager::SendEmlOmn(), TestUlMuMimoPhyTransmission::SendHeSuPpdu(), TestUlOfdmaPhyTransmission::SendHeSuPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPowerControl::SendMuBar(), ns3::HeFrameExchangeManager::SendMultiStaBlockAck(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), ns3::HeFrameExchangeManager::SendMuRts(), ns3::FrameExchangeManager::SendNormalAck(), ns3::ApWifiMac::SendOneBeacon(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), SpectrumWifiPhyFilterTest::SendPpdu(), SpectrumWifiPhyMultipleInterfacesTest::SendPpdu(), TestWifiPhyRxTraceHelper::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelperMloStr::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelperYans::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelper::SendPpduWithTwoMpdus(), TestWifiPhyRxTraceHelperMloStr::SendPpduWithTwoMpdus(), TestWifiPhyRxTraceHelperYans::SendPpduWithTwoMpdus(), ns3::dot11s::HwmpProtocolMac::SendPrep(), ns3::dot11s::HwmpProtocolMac::SendPreqVector(), ns3::StaWifiMac::SendProbeRequest(), ns3::ApWifiMac::SendProbeResp(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), ns3::FrameExchangeManager::SendRts(), TestUlOfdmaPpduUid::SendSuPpdu(), TestUlOfdmaPpduUid::SendTbPpdu(), ns3::StaWifiMac::SetPowerSaveMode(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), PowerRateAdaptationTest::TestRrpaa(), ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame(), and ns3::flame::FlameProtocolMac::UpdateOutcomingFrame().

+ Here is the caller graph for this function:

◆ SetAddr2()

void ns3::WifiMacHeader::SetAddr2 ( Mac48Address address)

Fill the Address 2 field with the given address.

Parameters
addressthe address to be used in the Address 2 field

Definition at line 86 of file wifi-mac-header.cc.

References m_addr2.

Referenced by ns3::MeshWifiBeacon::CreateHeader(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), WifiExtractExpiredMpdusTest::Enqueue(), AmpduAggregationTest::EnqueuePkts(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::ApWifiMac::GetFilsDiscovery(), ns3::MultiUserScheduler::GetTriggerFrame(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), ns3::BlockAckManager::NotifyDiscardedMpdu(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosTxop::PrepareBlockAckRequest(), ns3::HeFrameExchangeManager::PrepareMuBar(), TestMultiUserScheduler::SelectTxFormat(), ns3::HtFrameExchangeManager::SendAddBaRequest(), ns3::HtFrameExchangeManager::SendAddBaResponse(), ns3::StaWifiMac::SendAssociationRequest(), ns3::ApWifiMac::SendAssocResp(), ns3::HtFrameExchangeManager::SendBlockAck(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::HtFrameExchangeManager::SendDelbaFrame(), WifiPrimaryChannelsTest::SendDlMuPpdu(), WifiPrimaryChannelsTest::SendDlSuPpdu(), ns3::EhtFrameExchangeManager::SendEmlOmn(), TestUlMuMimoPhyTransmission::SendHeSuPpdu(), TestUlOfdmaPhyTransmission::SendHeSuPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), WifiPrimaryChannelsTest::SendHeTbPpdu(), TestUlOfdmaPowerControl::SendMuBar(), ns3::HeFrameExchangeManager::SendMultiStaBlockAck(), ns3::HeFrameExchangeManager::SendMuRts(), ns3::ApWifiMac::SendOneBeacon(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), ns3::dot11s::HwmpProtocolMac::SendPrep(), ns3::dot11s::HwmpProtocolMac::SendPreqVector(), ns3::StaWifiMac::SendProbeRequest(), ns3::ApWifiMac::SendProbeResp(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), ns3::FrameExchangeManager::SendRts(), and ns3::StaWifiMac::SetPowerSaveMode().

+ Here is the caller graph for this function:

◆ SetAddr3()

◆ SetAddr4()

void ns3::WifiMacHeader::SetAddr4 ( Mac48Address address)

Fill the Address 4 field with the given address.

Parameters
addressthe address to be used in the Address 4 field

Definition at line 98 of file wifi-mac-header.cc.

References m_addr4.

◆ SetDsFrom()

void ns3::WifiMacHeader::SetDsFrom ( )

Set the From DS bit in the Frame Control field.

Definition at line 56 of file wifi-mac-header.cc.

References m_ctrlFromDs.

Referenced by TestUlOfdmaPowerControl::SendMuBar(), and ns3::dot11s::AirtimeLinkMetricCalculator::SetHeaderTid().

+ Here is the caller graph for this function:

◆ SetDsNotFrom()

void ns3::WifiMacHeader::SetDsNotFrom ( )

Un-set the From DS bit in the Frame Control field.

Definition at line 62 of file wifi-mac-header.cc.

References m_ctrlFromDs.

Referenced by ns3::MeshWifiBeacon::CreateHeader(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::ApWifiMac::GetFilsDiscovery(), ns3::MultiUserScheduler::GetMaxSizeOfQosNullAmpdu(), ns3::MultiUserScheduler::GetTriggerFrame(), ns3::BlockAckManager::NotifyDiscardedMpdu(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosTxop::PrepareBlockAckRequest(), ns3::HeFrameExchangeManager::PrepareMuBar(), TestMultiUserScheduler::SelectTxFormat(), ns3::HtFrameExchangeManager::SendAddBaRequest(), ns3::HtFrameExchangeManager::SendAddBaResponse(), ns3::StaWifiMac::SendAssociationRequest(), ns3::ApWifiMac::SendAssocResp(), ns3::HtFrameExchangeManager::SendBlockAck(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::FrameExchangeManager::SendCtsToSelf(), ns3::HtFrameExchangeManager::SendDelbaFrame(), ns3::EhtFrameExchangeManager::SendEmlOmn(), ns3::HeFrameExchangeManager::SendMultiStaBlockAck(), ns3::HeFrameExchangeManager::SendMuRts(), ns3::FrameExchangeManager::SendNormalAck(), ns3::ApWifiMac::SendOneBeacon(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), ns3::dot11s::HwmpProtocolMac::SendPrep(), ns3::dot11s::HwmpProtocolMac::SendPreqVector(), ns3::StaWifiMac::SendProbeRequest(), ns3::ApWifiMac::SendProbeResp(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), ns3::FrameExchangeManager::SendRts(), ns3::StaWifiMac::SetPowerSaveMode(), and TestMultipleCtsResponsesFromMuRts::TxNonHtDuplicateCts().

+ Here is the caller graph for this function:

◆ SetDsNotTo()

void ns3::WifiMacHeader::SetDsNotTo ( )

Un-set the To DS bit in the Frame Control field.

Definition at line 74 of file wifi-mac-header.cc.

References m_ctrlToDs.

Referenced by ns3::MeshWifiBeacon::CreateHeader(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::ApWifiMac::GetFilsDiscovery(), ns3::MultiUserScheduler::GetTriggerFrame(), ns3::BlockAckManager::NotifyDiscardedMpdu(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosTxop::PrepareBlockAckRequest(), ns3::HeFrameExchangeManager::PrepareMuBar(), TestMultiUserScheduler::SelectTxFormat(), ns3::HtFrameExchangeManager::SendAddBaRequest(), ns3::HtFrameExchangeManager::SendAddBaResponse(), ns3::StaWifiMac::SendAssociationRequest(), ns3::ApWifiMac::SendAssocResp(), ns3::HtFrameExchangeManager::SendBlockAck(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::FrameExchangeManager::SendCtsToSelf(), ns3::HtFrameExchangeManager::SendDelbaFrame(), ns3::EhtFrameExchangeManager::SendEmlOmn(), TestUlOfdmaPowerControl::SendMuBar(), ns3::HeFrameExchangeManager::SendMultiStaBlockAck(), ns3::HeFrameExchangeManager::SendMuRts(), ns3::FrameExchangeManager::SendNormalAck(), ns3::ApWifiMac::SendOneBeacon(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), ns3::dot11s::HwmpProtocolMac::SendPrep(), ns3::dot11s::HwmpProtocolMac::SendPreqVector(), ns3::StaWifiMac::SendProbeRequest(), ns3::ApWifiMac::SendProbeResp(), ns3::FrameExchangeManager::SendRts(), and TestMultipleCtsResponsesFromMuRts::TxNonHtDuplicateCts().

+ Here is the caller graph for this function:

◆ SetDsTo()

void ns3::WifiMacHeader::SetDsTo ( )

Set the To DS bit in the Frame Control field.

Definition at line 68 of file wifi-mac-header.cc.

References m_ctrlToDs.

Referenced by ns3::MultiUserScheduler::GetMaxSizeOfQosNullAmpdu(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), ns3::dot11s::AirtimeLinkMetricCalculator::SetHeaderTid(), and ns3::StaWifiMac::SetPowerSaveMode().

+ Here is the caller graph for this function:

◆ SetDuration()

void ns3::WifiMacHeader::SetDuration ( Time duration)

Set the Duration/ID field with the given duration (Time object).

The method converts the given time to microseconds.

Parameters
durationthe duration (Time object)

Definition at line 278 of file wifi-mac-header.cc.

References ns3::Time::GetNanoSeconds(), m_duration, and NS_ASSERT.

Referenced by ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::FrameExchangeManager::SendCtsToSelf(), ns3::FrameExchangeManager::SendNormalAck(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), and ns3::FrameExchangeManager::SendRts().

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

◆ SetFragmentNumber()

void ns3::WifiMacHeader::SetFragmentNumber ( uint8_t frag)

Set the fragment number of the header.

Parameters
fragthe given fragment number

Definition at line 299 of file wifi-mac-header.cc.

References m_seqFrag.

Referenced by ns3::FrameExchangeManager::GetNextFragment().

+ Here is the caller graph for this function:

◆ SetFrameControl()

void ns3::WifiMacHeader::SetFrameControl ( uint16_t control)
protectedvirtual

Set the Frame Control field with the given raw value.

Parameters
controlthe raw Frame Control field value

Definition at line 937 of file wifi-mac-header.cc.

References m_ctrlFromDs, m_ctrlMoreData, m_ctrlMoreFrag, m_ctrlOrder, m_ctrlPowerManagement, m_ctrlRetry, m_ctrlSubtype, m_ctrlToDs, m_ctrlType, and m_ctrlWep.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ SetId()

void ns3::WifiMacHeader::SetId ( uint16_t id)

Set the Duration/ID field with the given ID.

Parameters
idthe ID

Definition at line 287 of file wifi-mac-header.cc.

References m_duration.

◆ SetMoreFragments()

void ns3::WifiMacHeader::SetMoreFragments ( )

Set the More Fragment bit in the Frame Control field.

Definition at line 311 of file wifi-mac-header.cc.

References m_ctrlMoreFrag.

Referenced by ns3::FrameExchangeManager::GetNextFragment().

+ Here is the caller graph for this function:

◆ SetNoMoreFragments()

◆ SetNoOrder()

void ns3::WifiMacHeader::SetNoOrder ( )

Unset order bit in the frame control field.

Definition at line 323 of file wifi-mac-header.cc.

References m_ctrlOrder.

Referenced by ns3::WifiMac::Enqueue().

+ Here is the caller graph for this function:

◆ SetNoPowerManagement()

void ns3::WifiMacHeader::SetNoPowerManagement ( )

Un-set the Power Management bit in the Frame Control field.

Definition at line 353 of file wifi-mac-header.cc.

References m_ctrlPowerManagement.

Referenced by ns3::StaWifiMac::SetPowerSaveMode().

+ Here is the caller graph for this function:

◆ SetNoRetry()

◆ SetOrder()

void ns3::WifiMacHeader::SetOrder ( )

Set order bit in the frame control field.

Definition at line 317 of file wifi-mac-header.cc.

References m_ctrlOrder.

◆ SetPowerManagement()

void ns3::WifiMacHeader::SetPowerManagement ( )

Set the Power Management bit in the Frame Control field.

Definition at line 347 of file wifi-mac-header.cc.

References m_ctrlPowerManagement.

Referenced by ns3::StaWifiMac::SetPowerSaveMode().

+ Here is the caller graph for this function:

◆ SetQosAckPolicy()

void ns3::WifiMacHeader::SetQosAckPolicy ( QosAckPolicy policy)

Set the QoS Ack policy in the QoS control field.

Parameters
policythe Qos Ack policy

Definition at line 371 of file wifi-mac-header.cc.

References BLOCK_ACK, m_qosAckPolicy, NO_ACK, NO_EXPLICIT_ACK, and NORMAL_ACK.

Referenced by ns3::WifiMac::Enqueue(), and ns3::WifiAckManager::SetQosAckPolicy().

+ Here is the caller graph for this function:

◆ SetQosAmsdu()

void ns3::WifiMacHeader::SetQosAmsdu ( )

Set that A-MSDU is present.

Definition at line 391 of file wifi-mac-header.cc.

References m_amsduPresent.

Referenced by ns3::WifiMpdu::Aggregate().

+ Here is the caller graph for this function:

◆ SetQosControl()

void ns3::WifiMacHeader::SetQosControl ( uint16_t qos)
protectedvirtual

Set the QoS Control field with the given raw value.

Parameters
qosthe raw QoS Control field value

Definition at line 959 of file wifi-mac-header.cc.

References m_amsduPresent, m_qosAckPolicy, m_qosEosp, m_qosStuff, and m_qosTid.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ SetQosEosp()

void ns3::WifiMacHeader::SetQosEosp ( )

Set the end of service period (EOSP) bit in the QoS control field.

Definition at line 359 of file wifi-mac-header.cc.

References m_qosEosp.

Referenced by ns3::HtFrameExchangeManager::FinalizeMacHeader(), ns3::QosFrameExchangeManager::ForwardMpduDown(), and ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu().

+ Here is the caller graph for this function:

◆ SetQosMeshControlPresent()

void ns3::WifiMacHeader::SetQosMeshControlPresent ( )

Set the Mesh Control Present flag for the QoS header.

Definition at line 416 of file wifi-mac-header.cc.

References m_qosStuff.

Referenced by ns3::dot11s::HwmpProtocolMac::UpdateOutcomingFrame().

+ Here is the caller graph for this function:

◆ SetQosNoAmsdu()

void ns3::WifiMacHeader::SetQosNoAmsdu ( )

Set that A-MSDU is not present.

Definition at line 397 of file wifi-mac-header.cc.

References m_amsduPresent.

Referenced by ns3::WifiMac::Enqueue().

+ Here is the caller graph for this function:

◆ SetQosNoEosp()

void ns3::WifiMacHeader::SetQosNoEosp ( )

Un-set the end of service period (EOSP) bit in the QoS control field.

Definition at line 365 of file wifi-mac-header.cc.

References m_qosEosp.

Referenced by ns3::WifiMac::Enqueue().

+ Here is the caller graph for this function:

◆ SetQosNoMeshControlPresent()

void ns3::WifiMacHeader::SetQosNoMeshControlPresent ( )

Clear the Mesh Control Present flag for the QoS header.

Definition at line 424 of file wifi-mac-header.cc.

References m_qosStuff.

◆ SetQosQueueSize()

void ns3::WifiMacHeader::SetQosQueueSize ( uint8_t size)

Set the Queue Size subfield in the QoS control field.

Parameters
sizethe value for the Queue Size subfield

Definition at line 409 of file wifi-mac-header.cc.

References m_qosEosp, and m_qosStuff.

Referenced by ns3::HtFrameExchangeManager::FinalizeMacHeader(), and ns3::QosFrameExchangeManager::ForwardMpduDown().

+ Here is the caller graph for this function:

◆ SetQosTid()

void ns3::WifiMacHeader::SetQosTid ( uint8_t tid)

Set the TID for the QoS header.

Parameters
tidthe TID for the QoS header

Definition at line 341 of file wifi-mac-header.cc.

References m_qosTid.

Referenced by ns3::InterferenceHelper::AddForeignSignal(), WifiPhyCcaThresholdsTest::CreateDummyPsdu(), WifiPhyChannel80Plus80Test::CreateDummyPsdu(), BlockAckRecipientBufferTest::DoRun(), WifiMacQueueDropOldestTest::DoRun(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), ns3::WifiMac::Enqueue(), WifiExtractExpiredMpdusTest::Enqueue(), AmpduAggregationTest::EnqueuePkts(), SpectrumWifiPhyBasicTest::MakeSignal(), WifiPhyThresholdsTest::MakeWifiSignal(), TestMultipleHeTbPreambles::RxHeTbPpdu(), TestPhyDropDueToTx::Send(), TestSpectrumChannelWithBandwidthFilter::Send(), TestAmpduReception::SendAmpduWithThreeMpdus(), WifiPrimaryChannelsTest::SendDlMuPpdu(), WifiPrimaryChannelsTest::SendDlSuPpdu(), TestUlMuMimoPhyTransmission::SendHeSuPpdu(), TestUlOfdmaPhyTransmission::SendHeSuPpdu(), WifiPhyCcaIndicationTest::SendHeSuPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), TestNonHtDuplicatePhyReception::SendNonHtDuplicatePpdu(), WifiPhyReceptionTest::SendPacket(), SpectrumWifiPhyFilterTest::SendPpdu(), SpectrumWifiPhyMultipleInterfacesTest::SendPpdu(), TestUnsupportedBandwidthReception::SendPpdu(), TestWifiPhyRxTraceHelper::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelperMloStr::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelperYans::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelper::SendPpduWithTwoMpdus(), TestWifiPhyRxTraceHelperMloStr::SendPpduWithTwoMpdus(), TestWifiPhyRxTraceHelperYans::SendPpduWithTwoMpdus(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), TestUlOfdmaPpduUid::SendSuPpdu(), TestUlOfdmaPpduUid::SendTbPpdu(), ns3::dot11s::AirtimeLinkMetricCalculator::SetHeaderTid(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), and PowerRateAdaptationTest::TestRrpaa().

+ Here is the caller graph for this function:

◆ SetQosTxopLimit()

void ns3::WifiMacHeader::SetQosTxopLimit ( uint8_t txop)

Set TXOP limit in the QoS control field.

Parameters
txopthe TXOP limit

Definition at line 403 of file wifi-mac-header.cc.

References m_qosStuff.

◆ SetRawDuration()

void ns3::WifiMacHeader::SetRawDuration ( uint16_t duration)

Set the Duration/ID field with the given raw uint16_t value.

Parameters
durationthe raw duration in uint16_t

Definition at line 271 of file wifi-mac-header.cc.

References m_duration, and NS_ASSERT.

◆ SetRetry()

void ns3::WifiMacHeader::SetRetry ( )

Set the Retry bit in the Frame Control field.

Definition at line 329 of file wifi-mac-header.cc.

References m_ctrlRetry.

◆ SetSequenceControl()

void ns3::WifiMacHeader::SetSequenceControl ( uint16_t seq)
protected

Set the Sequence Control field with the given raw value.

Parameters
seqthe raw Sequence Control field value

Definition at line 952 of file wifi-mac-header.cc.

References m_seqFrag, and m_seqSeq.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ SetSequenceNumber()

◆ SetType()

void ns3::WifiMacHeader::SetType ( WifiMacType type,
bool resetToDsFromDs = true )
virtual

Set Type/Subtype values with the correct values depending on the given type.

Parameters
typethe WifiMacType for the header
resetToDsFromDswhether the ToDs and FromDs flags should be reset.

Definition at line 104 of file wifi-mac-header.cc.

References m_ctrlFromDs, m_ctrlSubtype, m_ctrlToDs, m_ctrlType, ns3::SUBTYPE_CTL_ACK, ns3::SUBTYPE_CTL_BACKREQ, ns3::SUBTYPE_CTL_BACKRESP, ns3::SUBTYPE_CTL_CTLWRAPPER, ns3::SUBTYPE_CTL_CTS, ns3::SUBTYPE_CTL_END, ns3::SUBTYPE_CTL_END_ACK, ns3::SUBTYPE_CTL_PSPOLL, ns3::SUBTYPE_CTL_RTS, ns3::SUBTYPE_CTL_TRIGGER, ns3::TYPE_CTL, ns3::TYPE_DATA, ns3::TYPE_MGT, ns3::WIFI_MAC_CTL_ACK, ns3::WIFI_MAC_CTL_BACKREQ, ns3::WIFI_MAC_CTL_BACKRESP, ns3::WIFI_MAC_CTL_CTLWRAPPER, ns3::WIFI_MAC_CTL_CTS, ns3::WIFI_MAC_CTL_END, ns3::WIFI_MAC_CTL_END_ACK, ns3::WIFI_MAC_CTL_PSPOLL, ns3::WIFI_MAC_CTL_RTS, ns3::WIFI_MAC_CTL_TRIGGER, ns3::WIFI_MAC_DATA, ns3::WIFI_MAC_DATA_CFACK, ns3::WIFI_MAC_DATA_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_CFPOLL, ns3::WIFI_MAC_DATA_NULL, ns3::WIFI_MAC_DATA_NULL_CFACK, ns3::WIFI_MAC_DATA_NULL_CFACK_CFPOLL, ns3::WIFI_MAC_DATA_NULL_CFPOLL, ns3::WIFI_MAC_MGT_ACTION, ns3::WIFI_MAC_MGT_ACTION_NO_ACK, ns3::WIFI_MAC_MGT_ASSOCIATION_REQUEST, ns3::WIFI_MAC_MGT_ASSOCIATION_RESPONSE, ns3::WIFI_MAC_MGT_AUTHENTICATION, ns3::WIFI_MAC_MGT_BEACON, ns3::WIFI_MAC_MGT_DEAUTHENTICATION, ns3::WIFI_MAC_MGT_DISASSOCIATION, ns3::WIFI_MAC_MGT_MULTIHOP_ACTION, ns3::WIFI_MAC_MGT_PROBE_REQUEST, ns3::WIFI_MAC_MGT_PROBE_RESPONSE, ns3::WIFI_MAC_MGT_REASSOCIATION_REQUEST, ns3::WIFI_MAC_MGT_REASSOCIATION_RESPONSE, ns3::WIFI_MAC_QOSDATA, ns3::WIFI_MAC_QOSDATA_CFACK, ns3::WIFI_MAC_QOSDATA_CFACK_CFPOLL, ns3::WIFI_MAC_QOSDATA_CFPOLL, ns3::WIFI_MAC_QOSDATA_NULL, ns3::WIFI_MAC_QOSDATA_NULL_CFACK_CFPOLL, and ns3::WIFI_MAC_QOSDATA_NULL_CFPOLL.

Referenced by WifiMacHeader(), ns3::InterferenceHelper::AddForeignSignal(), TxDurationTest::CalculateTxDurationUsingList(), WifiPhyCcaThresholdsTest::CreateDummyPsdu(), WifiPhyChannel80Plus80Test::CreateDummyPsdu(), ns3::MeshWifiBeacon::CreateHeader(), BlockAckRecipientBufferTest::DoRun(), OriginatorBlockAckWindowTest::DoRun(), WifiMacQueueDropOldestTest::DoRun(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), WifiPrimaryChannelsTest::DoSetup(), ns3::WifiMac::Enqueue(), AmpduAggregationTest::EnqueuePkts(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::GetBlockAckRequestSize(), ns3::GetBlockAckSize(), ns3::GetMuBarSize(), SpectrumWifiPhyBasicTest::MakeSignal(), WifiPhyThresholdsTest::MakeWifiSignal(), ns3::BlockAckManager::NotifyDiscardedMpdu(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosTxop::PrepareBlockAckRequest(), ns3::HeFrameExchangeManager::PrepareMuBar(), TestMultipleHeTbPreambles::RxHeTbPpdu(), TestPhyDropDueToTx::Send(), TestSpectrumChannelWithBandwidthFilter::Send(), SpectrumWifiPhy80Plus80Test::Send160MhzPpdu(), InterferenceExperiment::SendA(), ns3::HtFrameExchangeManager::SendAddBaRequest(), ns3::HtFrameExchangeManager::SendAddBaResponse(), TestAmpduReception::SendAmpduWithThreeMpdus(), ns3::StaWifiMac::SendAssociationRequest(), ns3::ApWifiMac::SendAssocResp(), InterferenceExperiment::SendB(), ns3::HtFrameExchangeManager::SendBlockAck(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::FrameExchangeManager::SendCtsToSelf(), ns3::HtFrameExchangeManager::SendDelbaFrame(), WifiPrimaryChannelsTest::SendDlMuPpdu(), WifiPrimaryChannelsTest::SendDlSuPpdu(), ns3::EhtFrameExchangeManager::SendEmlOmn(), TestUlMuMimoPhyTransmission::SendHeSuPpdu(), TestUlOfdmaPhyTransmission::SendHeSuPpdu(), WifiPhyCcaIndicationTest::SendHeSuPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPowerControl::SendMuBar(), ns3::HeFrameExchangeManager::SendMultiStaBlockAck(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), ns3::HeFrameExchangeManager::SendMuRts(), TestNonHtDuplicatePhyReception::SendNonHtDuplicatePpdu(), ns3::FrameExchangeManager::SendNormalAck(), ns3::ApWifiMac::SendOneBeacon(), WifiPhyReceptionTest::SendPacket(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), SpectrumWifiPhyFilterTest::SendPpdu(), SpectrumWifiPhyMultipleInterfacesTest::SendPpdu(), TestUnsupportedBandwidthReception::SendPpdu(), TestWifiPhyRxTraceHelper::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelperMloStr::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelperYans::SendPpduWithOneMpdu(), TestWifiPhyRxTraceHelper::SendPpduWithTwoMpdus(), TestWifiPhyRxTraceHelperMloStr::SendPpduWithTwoMpdus(), TestWifiPhyRxTraceHelperYans::SendPpduWithTwoMpdus(), ns3::dot11s::HwmpProtocolMac::SendPrep(), ns3::dot11s::HwmpProtocolMac::SendPreqVector(), ns3::StaWifiMac::SendProbeRequest(), ns3::ApWifiMac::SendProbeResp(), ns3::FrameExchangeManager::SendRts(), TestUlOfdmaPpduUid::SendSuPpdu(), TestUlOfdmaPpduUid::SendTbPpdu(), ns3::dot11s::AirtimeLinkMetricCalculator::SetHeaderTid(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), PowerRateAdaptationTest::TestRrpaa(), and TestMultipleCtsResponsesFromMuRts::TxNonHtDuplicateCts().

Member Data Documentation

◆ m_addr1

Mac48Address ns3::WifiMacHeader::m_addr1 {}
protected

address 1

Definition at line 678 of file wifi-mac-header.h.

Referenced by Deserialize(), GetAddr1(), Print(), Serialize(), and SetAddr1().

◆ m_addr2

Mac48Address ns3::WifiMacHeader::m_addr2 {}
protected

address 2

Definition at line 679 of file wifi-mac-header.h.

Referenced by Deserialize(), GetAddr2(), Print(), Serialize(), and SetAddr2().

◆ m_addr3

Mac48Address ns3::WifiMacHeader::m_addr3 {}
protected

address 3

Definition at line 680 of file wifi-mac-header.h.

Referenced by Deserialize(), GetAddr3(), Print(), Serialize(), and SetAddr3().

◆ m_addr4

Mac48Address ns3::WifiMacHeader::m_addr4 {}
protected

address 4

Definition at line 683 of file wifi-mac-header.h.

Referenced by Deserialize(), GetAddr4(), Print(), Serialize(), and SetAddr4().

◆ m_amsduPresent

uint8_t ns3::WifiMacHeader::m_amsduPresent {0}
protected

A-MSDU present.

Definition at line 687 of file wifi-mac-header.h.

Referenced by GetQosControl(), IsQosAmsdu(), SetQosAmsdu(), SetQosControl(), and SetQosNoAmsdu().

◆ m_ctrlFromDs

uint8_t ns3::WifiMacHeader::m_ctrlFromDs {0}
protected

◆ m_ctrlMoreData

uint8_t ns3::WifiMacHeader::m_ctrlMoreData {0}
protected

control more data

Definition at line 672 of file wifi-mac-header.h.

Referenced by GetFrameControl(), IsMoreData(), PrintFrameControl(), and SetFrameControl().

◆ m_ctrlMoreFrag

uint8_t ns3::WifiMacHeader::m_ctrlMoreFrag {0}
protected

◆ m_ctrlOrder

uint8_t ns3::WifiMacHeader::m_ctrlOrder {0}
protected

control order (set to 1 for QoS Data and Management frames to signify that HT/VHT/HE control field is present, knowing that the latter are not implemented yet)

Definition at line 674 of file wifi-mac-header.h.

Referenced by GetFrameControl(), SetFrameControl(), SetNoOrder(), and SetOrder().

◆ m_ctrlPowerManagement

uint8_t ns3::WifiMacHeader::m_ctrlPowerManagement {0}
protected

◆ m_ctrlRetry

uint8_t ns3::WifiMacHeader::m_ctrlRetry {0}
protected

control retry

Definition at line 670 of file wifi-mac-header.h.

Referenced by GetFrameControl(), IsRetry(), PrintFrameControl(), SetFrameControl(), SetNoRetry(), and SetRetry().

◆ m_ctrlSubtype

uint8_t ns3::WifiMacHeader::m_ctrlSubtype {0}
protected

control subtype

Definition at line 666 of file wifi-mac-header.h.

Referenced by Deserialize(), GetFrameControl(), GetSize(), GetType(), IsQosData(), Serialize(), SetFrameControl(), and SetType().

◆ m_ctrlToDs

uint8_t ns3::WifiMacHeader::m_ctrlToDs {0}
protected

◆ m_ctrlType

uint8_t ns3::WifiMacHeader::m_ctrlType {0}
protected

◆ m_ctrlWep

uint8_t ns3::WifiMacHeader::m_ctrlWep {0}
protected

control WEP

Definition at line 673 of file wifi-mac-header.h.

Referenced by GetFrameControl(), and SetFrameControl().

◆ m_duration

uint16_t ns3::WifiMacHeader::m_duration {0}
protected

◆ m_qosAckPolicy

uint8_t ns3::WifiMacHeader::m_qosAckPolicy {0}
protected

◆ m_qosEosp

uint8_t ns3::WifiMacHeader::m_qosEosp {0}
protected

◆ m_qosStuff

uint8_t ns3::WifiMacHeader::m_qosStuff {0}
protected

◆ m_qosTid

uint8_t ns3::WifiMacHeader::m_qosTid {0}
protected

QoS TID.

Definition at line 684 of file wifi-mac-header.h.

Referenced by GetQosControl(), GetQosTid(), Print(), SetQosControl(), and SetQosTid().

◆ m_seqFrag

uint8_t ns3::WifiMacHeader::m_seqFrag {0}
protected

sequence fragment

Definition at line 681 of file wifi-mac-header.h.

Referenced by GetFragmentNumber(), GetSequenceControl(), Print(), SetFragmentNumber(), and SetSequenceControl().

◆ m_seqSeq

uint16_t ns3::WifiMacHeader::m_seqSeq {0}
protected

sequence sequence

Definition at line 682 of file wifi-mac-header.h.

Referenced by GetSequenceControl(), GetSequenceNumber(), Print(), SetSequenceControl(), and SetSequenceNumber().


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