A Discrete-Event Network Simulator
API
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. More...
 

Public Member Functions

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

Protected Member Functions

virtual uint16_t GetFrameControl () const
 Return the raw Frame Control field. More...
 
virtual uint16_t GetQosControl () const
 Return the raw QoS Control field. More...
 
void PrintFrameControl (std::ostream &os) const
 Print the Frame Control field to the output stream. More...
 
virtual void SetFrameControl (uint16_t control)
 Set the Frame Control field with the given raw value. More...
 
virtual void SetQosControl (uint16_t qos)
 Set the QoS Control field with the given raw value. More...
 
void SetSequenceControl (uint16_t seq)
 Set the Sequence Control field with the given raw value. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed. More...
 

Protected Attributes

Mac48Address m_addr1
 address 1 More...
 
Mac48Address m_addr2
 address 2 More...
 
Mac48Address m_addr3
 address 3 More...
 
Mac48Address m_addr4
 address 4 More...
 
uint8_t m_amsduPresent
 A-MSDU present. More...
 
uint8_t m_ctrlFromDs
 control from DS More...
 
uint8_t m_ctrlMoreData
 control more data More...
 
uint8_t m_ctrlMoreFrag
 control more fragments More...
 
uint8_t m_ctrlOrder
 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) More...
 
uint8_t m_ctrlPowerManagement
 control power management More...
 
uint8_t m_ctrlRetry
 control retry More...
 
uint8_t m_ctrlSubtype
 control subtype More...
 
uint8_t m_ctrlToDs
 control to DS More...
 
uint8_t m_ctrlType
 control type More...
 
uint8_t m_ctrlWep
 control WEP More...
 
uint16_t m_duration
 duration More...
 
uint8_t m_qosAckPolicy
 QoS Ack policy. More...
 
uint8_t m_qosEosp
 QoS EOSP. More...
 
uint8_t m_qosStuff
 QoS stuff. More...
 
uint8_t m_qosTid
 QoS TID. More...
 
uint8_t m_seqFrag
 sequence fragment More...
 
uint16_t m_seqSeq
 sequence sequence More...
 

Additional Inherited Members

Detailed Description

Implements the IEEE 802.11 MAC header.

Definition at line 97 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 637 of file wifi-mac-header.h.

Member Enumeration Documentation

◆ AddressType

Address types.

Enumerator
ADDR1 
ADDR2 
ADDR3 
ADDR4 

Definition at line 114 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 103 of file wifi-mac-header.h.

Constructor & Destructor Documentation

◆ WifiMacHeader() [1/2]

ns3::WifiMacHeader::WifiMacHeader ( )

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

◆ WifiMacHeader() [2/2]

ns3::WifiMacHeader::WifiMacHeader ( WifiMacType  type)

Construct a MAC header of the given type.

Parameters
typethe MAC header type

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

References SetType(), and check-style-clang-format::type.

+ Here is the call graph for this function:

◆ ~WifiMacHeader()

ns3::WifiMacHeader::~WifiMacHeader ( )
override

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

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 1292 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(), two-ray-to-three-gpp-ch-calibration::start, 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 463 of file wifi-mac-header.cc.

References m_addr1.

Referenced by ns3::WifiTxParameters::AddMpdu(), ns3::WifiMpdu::Aggregate(), ns3::HtFrameExchangeManager::FinalizeMacHeader(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::QosFrameExchangeManager::ForwardMpduDown(), 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(), NodeStatistics::PhyCallback(), ns3::WifiMpdu::Print(), ns3::aodv::Neighbors::ProcessTxError(), ns3::dsr::DsrRouteCache::ProcessTxError(), ns3::MacRxMiddle::Receive(), ns3::WifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), ns3::flame::FlameProtocolMac::Receive(), 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::WifiAckManager::SetQosAckPolicy(), ns3::MacTxMiddle::SetSequenceNumberFor(), ns3::QosFrameExchangeManager::SetTxopHolder(), 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 469 of file wifi-mac-header.cc.

References m_addr2.

Referenced by ns3::WifiMpdu::Aggregate(), OfdmaAckSequenceTest::CheckResults(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::WifiMacQueueContainer::GetQueueId(), ns3::MacRxMiddle::Lookup(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosFrameExchangeManager::PreProcessFrame(), ns3::MacRxMiddle::Receive(), ns3::WifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::FrameExchangeManager::Receive(), ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::flame::FlameProtocolMac::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(), TestUlOfdmaPowerControl::ReceiveOkCallbackAtAp(), ns3::StaWifiMac::ReceiveProbeResp(), ns3::FrameExchangeManager::SendCtsAfterRts(), ns3::FrameExchangeManager::SendNormalAck(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), ns3::QosFrameExchangeManager::SetTxopHolder(), ns3::PyViz::TraceNetDevRxWifi(), TracePacketReception(), ns3::ApWifiMac::TxFailed(), ns3::ApWifiMac::TxOk(), and ns3::AnimationInterface::WifiPhyRxBeginTrace().

+ Here is the caller graph for this function:

◆ GetAddr3()

◆ 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 481 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 816 of file wifi-mac-header.cc.

References m_duration, and ns3::MicroSeconds().

Referenced by ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::WifiMpdu::Print(), 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 834 of file wifi-mac-header.cc.

References m_seqFrag.

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

+ 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 939 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 1113 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 892 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 956 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 932 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 925 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::WifiMpdu::Print(), ns3::MeshWifiInterfaceMac::Receive(), ns3::ApWifiMac::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 810 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 822 of file wifi-mac-header.cc.

References m_seqFrag, and m_seqSeq.

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

+ Here is the caller graph for this function:

◆ GetSequenceNumber()

uint16_t ns3::WifiMacHeader::GetSequenceNumber ( ) const

◆ 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 1231 of file wifi-mac-header.cc.

References GetSize().

Referenced by ns3::WifiPsdu::WifiPsdu(), TxDurationTest::CalculateTxDurationUsingList(), 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 487 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(), 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(), NodeStatistics::PhyCallback(), Print(), ns3::WifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), TestUlOfdmaPowerControl::ReceiveOkCallbackAtAp(), and ns3::ApWifiMac::SendAssocResp().

+ Here is the caller graph for this function:

◆ GetTypeId()

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

Get the type ID.

Returns
the object TypeId

Definition at line 1103 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 1045 of file wifi-mac-header.cc.

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

Referenced by ns3::WifiMpdu::Print(), 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 671 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::WifiMac::Receive(), 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 708 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_ACK.

Referenced by ns3::FrameExchangeManager::Receive(), 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 774 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_ACTION.

Referenced by ns3::GetTid(), ns3::WifiMac::Receive(), ns3::dot11s::HwmpProtocolMac::Receive(), ns3::dot11s::PeerManagementProtocolMac::Receive(), 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 780 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 714 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 720 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 762 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 750 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_MGT_BEACON.

Referenced by ns3::MeshWifiInterfaceMac::Receive(), ns3::dot11s::PeerManagementProtocolMac::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 798 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_BACKRESP.

Referenced by ns3::EhtFrameExchangeManager::GetEmlsrSwitchToListening(), 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 792 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_BACKREQ.

Referenced by ns3::GetTid(), ns3::HtFrameExchangeManager::MissedBlockAck(), 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 655 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 642 of file wifi-mac-header.cc.

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

Referenced by ns3::HeFrameExchangeManager::UpdateNav(), and ns3::QosFrameExchangeManager::UpdateNav().

+ Here is the call graph for this function:
+ Here is the caller 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 623 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 611 of file wifi-mac-header.cc.

References m_ctrlType, and ns3::TYPE_CTL.

Referenced by ns3::WifiMacQueueContainer::GetQueueId(), ns3::HeFrameExchangeManager::IsIntraBssPpdu(), 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 696 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_CTS.

Referenced by ns3::EhtFrameExchangeManager::GetEmlsrSwitchToListening(), ns3::FrameExchangeManager::Receive(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), and ns3::QosFrameExchangeManager::SetTxopHolder().

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

◆ IsData()

bool ns3::WifiMacHeader::IsData ( ) const

◆ 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 768 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 756 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 587 of file wifi-mac-header.cc.

References m_ctrlFromDs.

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

+ 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 617 of file wifi-mac-header.cc.

References m_ctrlType, and ns3::TYPE_MGT.

Referenced by ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiMacQueueContainer::GetQueueId(), ns3::GetTid(), ns3::MacRxMiddle::Receive(), ns3::WifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::FrameExchangeManager::ReceiveMpdu(), and ns3::QosFrameExchangeManager::SetTxopHolder().

+ 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 846 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 852 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 786 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 858 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 738 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 744 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 702 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 878 of file wifi-mac-header.cc.

References IsQosData(), m_qosAckPolicy, and NS_ASSERT.

Referenced by ns3::WifiMpdu::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 918 of file wifi-mac-header.cc.

References IsQosData(), m_amsduPresent, and NS_ASSERT.

Referenced by ns3::WifiMpdu::WifiMpdu(), 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 864 of file wifi-mac-header.cc.

References IsQosData(), m_qosAckPolicy, and NS_ASSERT.

Referenced by ns3::WifiMpdu::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 605 of file wifi-mac-header.cc.

References m_ctrlSubtype, m_ctrlType, and ns3::TYPE_DATA.

Referenced by ns3::WifiMpdu::WifiMpdu(), ns3::WifiTxParameters::AddMpdu(), MultiLinkOperationsTestBase::CheckAddresses(), ns3::HtFrameExchangeManager::FinalizeMacHeader(), 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(), ns3::WifiMpdu::Print(), ns3::MeshWifiInterfaceMac::Receive(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), WifiPrimaryChannelsTest::ReceiveDl(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::QosFrameExchangeManager::ReceiveMpdu(), WifiPrimaryChannelsTest::ReceiveUl(), ns3::HtFrameExchangeManager::ReleaseSequenceNumbers(), ns3::WifiRemoteStationManager::ReportDataOk(), ns3::WifiRemoteStationManager::ReportFinalRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsFailed(), ns3::WifiRemoteStationManager::ReportRtsOk(), ns3::WifiAckManager::SetQosAckPolicy(), ns3::MacTxMiddle::SetSequenceNumberFor(), ns3::QosFrameExchangeManager::SetTxopHolder(), 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 885 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 871 of file wifi-mac-header.cc.

References IsQosData(), m_qosAckPolicy, and NS_ASSERT.

Referenced by ns3::WifiMpdu::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 726 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 732 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 840 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 690 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_RTS.

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

+ 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 593 of file wifi-mac-header.cc.

References m_ctrlToDs.

Referenced by ns3::WifiMpdu::Aggregate(), MultiLinkOperationsTestBase::CheckAddresses(), 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 804 of file wifi-mac-header.cc.

References GetType(), and ns3::WIFI_MAC_CTL_TRIGGER.

Referenced by ns3::HeFrameExchangeManager::PostProcessFrame(), WifiPrimaryChannelsTest::ReceiveDl(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::SetTxopHolder(), 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 1130 of file wifi-mac-header.cc.

References GetType(), GetTypeString(), m_addr1, m_addr2, m_addr3, m_addr4, m_ctrlFromDs, m_ctrlToDs, m_duration, 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 1119 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 1237 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 111 of file wifi-mac-header.cc.

References first::address, and m_addr1.

Referenced by ns3::MeshWifiBeacon::CreateHeader(), BlockAckRecipientBufferTest::DoRun(), WifiMacQueueDropOldestTest::DoRun(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), WifiPrimaryChannelsTest::DoSetup(), WifiExtractExpiredMpdusTest::Enqueue(), ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), AmpduAggregationTest::EnqueuePkts(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::ApWifiMac::ForwardDown(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), 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(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPowerControl::SendMuBar(), ns3::HeFrameExchangeManager::SendMultiStaBlockAck(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), ns3::HeFrameExchangeManager::SendMuRts(), ns3::FrameExchangeManager::SendNormalAck(), ns3::ApWifiMac::SendOneBeacon(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), SpectrumWifiPhyFilterTest::SendPpdu(), SpectrumWifiPhyMultipleInterfacesTest::SendPpdu(), 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 117 of file wifi-mac-header.cc.

References first::address, and m_addr2.

Referenced by ns3::MeshWifiBeacon::CreateHeader(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), WifiExtractExpiredMpdusTest::Enqueue(), ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), AmpduAggregationTest::EnqueuePkts(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::ApWifiMac::ForwardDown(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), 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(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::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 129 of file wifi-mac-header.cc.

References first::address, and m_addr4.

Referenced by ns3::MeshWifiInterfaceMac::ForwardDown().

+ Here is the caller graph for this function:

◆ SetDsFrom()

void ns3::WifiMacHeader::SetDsFrom ( )

Set the From DS bit in the Frame Control field.

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

References m_ctrlFromDs.

Referenced by ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::ApWifiMac::ForwardDown(), 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 93 of file wifi-mac-header.cc.

References m_ctrlFromDs.

Referenced by ns3::MeshWifiBeacon::CreateHeader(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), 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 105 of file wifi-mac-header.cc.

References m_ctrlToDs.

Referenced by ns3::MeshWifiBeacon::CreateHeader(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::AdhocWifiMac::Enqueue(), ns3::ApWifiMac::ForwardDown(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), 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 ( )

◆ 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 309 of file wifi-mac-header.cc.

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

Referenced by ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::HtFrameExchangeManager::SendBlockAck(), 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 330 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 968 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 318 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 342 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 354 of file wifi-mac-header.cc.

References m_ctrlOrder.

Referenced by ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), and ns3::ApWifiMac::ForwardDown().

+ 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 384 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 348 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 378 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 402 of file wifi-mac-header.cc.

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

Referenced by ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::ApWifiMac::ForwardDown(), 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 422 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 990 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 390 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 447 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 428 of file wifi-mac-header.cc.

References m_amsduPresent.

Referenced by ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), ns3::MeshWifiInterfaceMac::ForwardDown(), and ns3::ApWifiMac::ForwardDown().

+ 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 396 of file wifi-mac-header.cc.

References m_qosEosp.

Referenced by ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), ns3::MeshWifiInterfaceMac::ForwardDown(), and ns3::ApWifiMac::ForwardDown().

+ 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 455 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 440 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 372 of file wifi-mac-header.cc.

References m_qosTid.

Referenced by ns3::InterferenceHelper::AddForeignSignal(), WifiPhyCcaThresholdsTest::CreateDummyPsdu(), BlockAckRecipientBufferTest::DoRun(), WifiMacQueueDropOldestTest::DoRun(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), WifiExtractExpiredMpdusTest::Enqueue(), ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), AmpduAggregationTest::EnqueuePkts(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::ApWifiMac::ForwardDown(), SpectrumWifiPhyBasicTest::MakeSignal(), WifiPhyThresholdsTest::MakeWifiSignal(), TestMultipleHeTbPreambles::RxHeTbPpdu(), TestSpectrumChannelWithBandwidthFilter::Send(), TestAmpduReception::SendAmpduWithThreeMpdus(), WifiPrimaryChannelsTest::SendDlMuPpdu(), WifiPrimaryChannelsTest::SendDlSuPpdu(), WifiPhyCcaIndicationTest::SendHeSuPpdu(), TestUlMuMimoPhyTransmission::SendHeSuPpdu(), TestUlOfdmaPhyTransmission::SendHeSuPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), TestNonHtDuplicatePhyReception::SendNonHtDuplicatePpdu(), WifiPhyReceptionTest::SendPacket(), SpectrumWifiPhyFilterTest::SendPpdu(), SpectrumWifiPhyMultipleInterfacesTest::SendPpdu(), TestUnsupportedBandwidthReception::SendPpdu(), 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 434 of file wifi-mac-header.cc.

References m_qosStuff.

Referenced by ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), ns3::MeshWifiInterfaceMac::ForwardDown(), and ns3::ApWifiMac::ForwardDown().

+ Here is the caller graph for this function:

◆ 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 302 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 360 of file wifi-mac-header.cc.

References m_ctrlRetry.

Referenced by ns3::HtFrameExchangeManager::MissedBlockAck().

+ Here is the caller graph for this function:

◆ 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 983 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 135 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, check-style-clang-format::type, 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(), ns3::MeshWifiBeacon::CreateHeader(), OriginatorBlockAckWindowTest::DoRun(), BlockAckRecipientBufferTest::DoRun(), WifiMacQueueDropOldestTest::DoRun(), ns3::FrameExchangeManager::DoSendCtsAfterRts(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), WifiPrimaryChannelsTest::DoSetup(), ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), AmpduAggregationTest::EnqueuePkts(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::ApWifiMac::ForwardDown(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::GetAckSize(), ns3::GetBlockAckRequestSize(), ns3::GetBlockAckSize(), ns3::GetCtsSize(), ns3::GetMuBarSize(), ns3::GetRtsSize(), SpectrumWifiPhyBasicTest::MakeSignal(), WifiPhyThresholdsTest::MakeWifiSignal(), ns3::BlockAckManager::NotifyDiscardedMpdu(), ns3::HeFrameExchangeManager::PostProcessFrame(), ns3::QosTxop::PrepareBlockAckRequest(), ns3::HeFrameExchangeManager::PrepareMuBar(), TestMultipleHeTbPreambles::RxHeTbPpdu(), TestSpectrumChannelWithBandwidthFilter::Send(), 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(), WifiPhyCcaIndicationTest::SendHeSuPpdu(), TestUlMuMimoPhyTransmission::SendHeSuPpdu(), TestUlOfdmaPhyTransmission::SendHeSuPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPowerControl::SendMuBar(), ns3::HeFrameExchangeManager::SendMultiStaBlockAck(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), ns3::HeFrameExchangeManager::SendMuRts(), TestNonHtDuplicatePhyReception::SendNonHtDuplicatePpdu(), ns3::FrameExchangeManager::SendNormalAck(), ns3::ApWifiMac::SendOneBeacon(), WifiPhyReceptionTest::SendPacket(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), SpectrumWifiPhyFilterTest::SendPpdu(), SpectrumWifiPhyMultipleInterfacesTest::SendPpdu(), TestUnsupportedBandwidthReception::SendPpdu(), 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::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 690 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 691 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 692 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 695 of file wifi-mac-header.h.

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

◆ m_amsduPresent

uint8_t ns3::WifiMacHeader::m_amsduPresent
protected

A-MSDU present.

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

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

◆ m_ctrlFromDs

uint8_t ns3::WifiMacHeader::m_ctrlFromDs
protected

◆ m_ctrlMoreData

uint8_t ns3::WifiMacHeader::m_ctrlMoreData
protected

control more data

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

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

◆ m_ctrlMoreFrag

uint8_t ns3::WifiMacHeader::m_ctrlMoreFrag
protected

◆ m_ctrlOrder

uint8_t ns3::WifiMacHeader::m_ctrlOrder
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 686 of file wifi-mac-header.h.

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

◆ m_ctrlPowerManagement

uint8_t ns3::WifiMacHeader::m_ctrlPowerManagement
protected

◆ m_ctrlRetry

uint8_t ns3::WifiMacHeader::m_ctrlRetry
protected

control retry

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

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

◆ m_ctrlSubtype

uint8_t ns3::WifiMacHeader::m_ctrlSubtype
protected

control subtype

Definition at line 678 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
protected

◆ m_ctrlType

uint8_t ns3::WifiMacHeader::m_ctrlType
protected

◆ m_ctrlWep

uint8_t ns3::WifiMacHeader::m_ctrlWep
protected

control WEP

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

Referenced by GetFrameControl(), and SetFrameControl().

◆ m_duration

uint16_t ns3::WifiMacHeader::m_duration
protected

◆ m_qosAckPolicy

uint8_t ns3::WifiMacHeader::m_qosAckPolicy
protected

◆ m_qosEosp

uint8_t ns3::WifiMacHeader::m_qosEosp
protected

◆ m_qosStuff

uint8_t ns3::WifiMacHeader::m_qosStuff
protected

◆ m_qosTid

uint8_t ns3::WifiMacHeader::m_qosTid
protected

QoS TID.

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

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

◆ m_seqFrag

uint8_t ns3::WifiMacHeader::m_seqFrag
protected

sequence fragment

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

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

◆ m_seqSeq

uint16_t ns3::WifiMacHeader::m_seqSeq
protected

sequence sequence

Definition at line 694 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: