Implements the IEEE 802.11 MAC header. More...
#include "wifi-mac-header.h"
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 | |
Related Symbols inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Implements the IEEE 802.11 MAC header.
Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Group: Wifi
Size of this type is 56 bytes (on a 64-bit architecture).
Definition at line 86 of file wifi-mac-header.h.
typedef void(* ns3::WifiMacHeader::TracedCallback) (const WifiMacHeader &header) |
TracedCallback signature for WifiMacHeader.
[in] | header | The header |
Definition at line 625 of file wifi-mac-header.h.
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.
|
default |
ns3::WifiMacHeader::WifiMacHeader | ( | WifiMacType | type | ) |
Construct a MAC header of the given type.
type | the MAC header type |
Definition at line 49 of file wifi-mac-header.cc.
References SetType().
|
overridevirtual |
start | an iterator which points to where the header should read from. |
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.
Mac48Address ns3::WifiMacHeader::GetAddr1 | ( | ) | const |
Return 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().
Mac48Address ns3::WifiMacHeader::GetAddr2 | ( | ) | const |
Return 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().
Mac48Address ns3::WifiMacHeader::GetAddr3 | ( | ) | const |
Return 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().
Mac48Address ns3::WifiMacHeader::GetAddr4 | ( | ) | const |
Return 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().
Time ns3::WifiMacHeader::GetDuration | ( | ) | const |
Return 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().
uint8_t ns3::WifiMacHeader::GetFragmentNumber | ( | ) | const |
Return 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().
|
protectedvirtual |
Return 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().
|
overridevirtual |
Get the most derived TypeId for this Object.
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Implements ns3::ObjectBase.
Definition at line 1082 of file wifi-mac-header.cc.
References GetTypeId().
WifiMacHeader::QosAckPolicy ns3::WifiMacHeader::GetQosAckPolicy | ( | ) | const |
Return 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().
|
protectedvirtual |
Return 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().
uint8_t ns3::WifiMacHeader::GetQosQueueSize | ( | ) | const |
Get the Queue Size subfield in the QoS control field.
Definition at line 901 of file wifi-mac-header.cc.
References m_qosEosp, m_qosStuff, and NS_ASSERT.
Referenced by ns3::QosFrameExchangeManager::PreProcessFrame().
uint8_t ns3::WifiMacHeader::GetQosTid | ( | ) | const |
Return 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().
uint16_t ns3::WifiMacHeader::GetRawDuration | ( | ) | const |
Return the raw duration from the Duration/ID field.
Definition at line 779 of file wifi-mac-header.cc.
References m_duration.
uint16_t ns3::WifiMacHeader::GetSequenceControl | ( | ) | const |
Return 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().
uint16_t ns3::WifiMacHeader::GetSequenceNumber | ( | ) | const |
Return 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().
|
overridevirtual |
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().
|
virtual |
Return the size of the WifiMacHeader in octets.
GetSerializedSize calls this function.
Definition at line 969 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, and ns3::TYPE_MGT.
Referenced by ns3::HeFrameExchangeManager::CalculateProtectionTime(), ns3::GetAckSize(), ns3::GetBlockAckRequestSize(), ns3::GetBlockAckSize(), ns3::GetCtsSize(), ns3::FrameExchangeManager::GetFrameDurationId(), ns3::GetMuBarSize(), ns3::GetRtsSize(), GetSerializedSize(), ns3::GetSize(), and ns3::MacRxMiddle::HandleFragments().
|
virtual |
Return 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().
|
static |
Get the type ID.
Definition at line 1072 of file wifi-mac-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
virtual |
Return 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 ns3::WifiMpdu::IncrementRetryCount(), Print(), ns3::FrameExchangeManager::ReceiveMpdu(), and ns3::QosFrameExchangeManager::ReceiveMpdu().
bool ns3::WifiMacHeader::HasData | ( | ) | const |
Return true if the header type is DATA and is not DATA_NULL.
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().
bool ns3::WifiMacHeader::IsAck | ( | ) | const |
Return true if the header is an Ack header.
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().
bool ns3::WifiMacHeader::IsAction | ( | ) | const |
Return true if the header is an Action header.
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().
bool ns3::WifiMacHeader::IsActionNoAck | ( | ) | const |
Return true if the header is an Action No Ack header.
Definition at line 749 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_MGT_ACTION_NO_ACK.
bool ns3::WifiMacHeader::IsAssocReq | ( | ) | const |
Return true if the header is an Association Request header.
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().
bool ns3::WifiMacHeader::IsAssocResp | ( | ) | const |
Return true if the header is an Association Response header.
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().
bool ns3::WifiMacHeader::IsAuthentication | ( | ) | const |
Return true if the header is an Authentication header.
Definition at line 731 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_MGT_AUTHENTICATION.
bool ns3::WifiMacHeader::IsBeacon | ( | ) | const |
Return true if the header is a Beacon header.
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().
bool ns3::WifiMacHeader::IsBlockAck | ( | ) | const |
Return true if the header is a BlockAck header.
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().
bool ns3::WifiMacHeader::IsBlockAckReq | ( | ) | const |
Return true if the header is a BlockAckRequest header.
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::WifiMpdu::IncrementRetryCount(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), BlockAckAggregationDisabledTest::Transmit(), and ns3::WifiDefaultAckManager::TryAddMpdu().
bool ns3::WifiMacHeader::IsCfAck | ( | ) | const |
Return true if the header is a CF-Ack header.
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.
bool ns3::WifiMacHeader::IsCfEnd | ( | ) | const |
Return true if the header is a CF-End header.
Definition at line 611 of file wifi-mac-header.cc.
References GetType(), ns3::WIFI_MAC_CTL_END, and ns3::WIFI_MAC_CTL_END_ACK.
bool ns3::WifiMacHeader::IsCfPoll | ( | ) | const |
Return true if the Type/Subtype is one of the possible CF-Poll headers.
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.
bool ns3::WifiMacHeader::IsCtl | ( | ) | const |
Return true if the Type is Control.
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().
bool ns3::WifiMacHeader::IsCts | ( | ) | const |
Return true if the header is a CTS header.
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().
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)
Definition at line 568 of file wifi-mac-header.cc.
References m_ctrlType, and ns3::TYPE_DATA.
Referenced by ns3::WifiPhyRxTraceSink::CountStatisticsForRecord(), ns3::WifiMpdu::IncrementRetryCount(), 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().
bool ns3::WifiMacHeader::IsDeauthentication | ( | ) | const |
Return true if the header is a Deauthentication header.
Definition at line 737 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_MGT_DEAUTHENTICATION.
bool ns3::WifiMacHeader::IsDisassociation | ( | ) | const |
Return true if the header is a Disassociation header.
Definition at line 725 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_MGT_DISASSOCIATION.
bool ns3::WifiMacHeader::IsFromDs | ( | ) | const |
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().
bool ns3::WifiMacHeader::IsMgt | ( | ) | const |
Return true if the Type is Management.
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::WifiMpdu::IncrementRetryCount(), ns3::ApWifiMac::Receive(), ns3::FrameExchangeManager::ReceiveMpdu(), and ns3::HtFrameExchangeManager::ReceiveMpdu().
bool ns3::WifiMacHeader::IsMoreData | ( | ) | const |
Return if the More Data bit is set.
Definition at line 815 of file wifi-mac-header.cc.
References m_ctrlMoreData.
bool ns3::WifiMacHeader::IsMoreFragments | ( | ) | const |
Return if the More Fragment bit is set.
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().
bool ns3::WifiMacHeader::IsMultihopAction | ( | ) | const |
Check if the header is a Multihop action header.
Definition at line 755 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_MGT_MULTIHOP_ACTION.
bool ns3::WifiMacHeader::IsPowerManagement | ( | ) | const |
Return if the Power Management bit is set.
Definition at line 827 of file wifi-mac-header.cc.
References m_ctrlPowerManagement.
Referenced by ns3::StaWifiMac::TxOk().
bool ns3::WifiMacHeader::IsProbeReq | ( | ) | const |
Return true if the header is a Probe Request header.
Definition at line 707 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_MGT_PROBE_REQUEST.
Referenced by ns3::ApWifiMac::Receive().
bool ns3::WifiMacHeader::IsProbeResp | ( | ) | const |
Return true if the header is a Probe Response header.
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().
bool ns3::WifiMacHeader::IsPsPoll | ( | ) | const |
Return true if the header is a PS-POLL header.
Definition at line 671 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_CTL_PSPOLL.
bool ns3::WifiMacHeader::IsQosAck | ( | ) | const |
Return if the QoS Ack policy is Normal Ack.
Definition at line 847 of file wifi-mac-header.cc.
References IsQosData(), m_qosAckPolicy, and NS_ASSERT.
Referenced by Print().
bool ns3::WifiMacHeader::IsQosAmsdu | ( | ) | const |
Check if the A-MSDU present bit is set in the QoS control field.
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().
bool ns3::WifiMacHeader::IsQosBlockAck | ( | ) | const |
Return if the QoS Ack policy is Block Ack.
Definition at line 833 of file wifi-mac-header.cc.
References IsQosData(), m_qosAckPolicy, and NS_ASSERT.
Referenced by Print(), and BlockAckAggregationDisabledTest::Transmit().
bool ns3::WifiMacHeader::IsQosData | ( | ) | const |
Return true if the Type is DATA and Subtype is one of the possible values for QoS Data.
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().
bool ns3::WifiMacHeader::IsQosEosp | ( | ) | const |
Return if the end of service period (EOSP) is set.
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().
bool ns3::WifiMacHeader::IsQosNoAck | ( | ) | const |
Return if the QoS Ack policy is No Ack.
Definition at line 840 of file wifi-mac-header.cc.
References IsQosData(), m_qosAckPolicy, and NS_ASSERT.
Referenced by Print().
bool ns3::WifiMacHeader::IsReassocReq | ( | ) | const |
Return true if the header is a Reassociation Request header.
Definition at line 695 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_MGT_REASSOCIATION_REQUEST.
Referenced by ns3::ApWifiMac::Receive().
bool ns3::WifiMacHeader::IsReassocResp | ( | ) | const |
Return true if the header is a Reassociation Response header.
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().
bool ns3::WifiMacHeader::IsRetry | ( | ) | const |
Return if the Retry bit is set.
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().
bool ns3::WifiMacHeader::IsRts | ( | ) | const |
Return true if the header is a RTS header.
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().
bool ns3::WifiMacHeader::IsToDs | ( | ) | const |
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().
bool ns3::WifiMacHeader::IsTrigger | ( | ) | const |
Return true if the header is a Trigger header.
Definition at line 773 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_CTL_TRIGGER.
Referenced by ns3::HeFrameExchangeManager::FindTxopHolder(), ns3::WifiMpdu::IncrementRetryCount(), WifiPrimaryChannelsTest::ReceiveDl(), ns3::HeFrameExchangeManager::ReceiveMpdu(), and ns3::WifiDefaultAckManager::TryAddMpdu().
|
overridevirtual |
os | output 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.
|
protected |
Print the Frame Control field to the output stream.
os | the 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().
|
overridevirtual |
start | an 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().
void ns3::WifiMacHeader::SetAddr1 | ( | Mac48Address | address | ) |
Fill the Address 1 field with the given address.
address | the 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().
void ns3::WifiMacHeader::SetAddr2 | ( | Mac48Address | address | ) |
Fill the Address 2 field with the given address.
address | the 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().
void ns3::WifiMacHeader::SetAddr3 | ( | Mac48Address | address | ) |
Fill the Address 3 field with the given address.
address | the address to be used in the Address 3 field |
Definition at line 92 of file wifi-mac-header.cc.
References m_addr3.
Referenced by ns3::WifiMpdu::Aggregate(), ns3::MeshWifiBeacon::CreateHeader(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::ApWifiMac::GetFilsDiscovery(), ns3::HtFrameExchangeManager::SendAddBaRequest(), ns3::HtFrameExchangeManager::SendAddBaResponse(), ns3::StaWifiMac::SendAssociationRequest(), ns3::ApWifiMac::SendAssocResp(), ns3::HtFrameExchangeManager::SendDelbaFrame(), WifiPrimaryChannelsTest::SendDlMuPpdu(), WifiPrimaryChannelsTest::SendDlSuPpdu(), ns3::EhtFrameExchangeManager::SendEmlOmn(), TestUlOfdmaPowerControl::SendMuBar(), ns3::ApWifiMac::SendOneBeacon(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), ns3::dot11s::HwmpProtocolMac::SendPrep(), ns3::dot11s::HwmpProtocolMac::SendPreqVector(), ns3::StaWifiMac::SendProbeRequest(), ns3::ApWifiMac::SendProbeResp(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), and ns3::StaWifiMac::SetPowerSaveMode().
void ns3::WifiMacHeader::SetAddr4 | ( | Mac48Address | address | ) |
Fill the Address 4 field with the given address.
address | the address to be used in the Address 4 field |
Definition at line 98 of file wifi-mac-header.cc.
References m_addr4.
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().
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().
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().
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().
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.
duration | the 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().
void ns3::WifiMacHeader::SetFragmentNumber | ( | uint8_t | frag | ) |
Set the fragment number of the header.
frag | the given fragment number |
Definition at line 299 of file wifi-mac-header.cc.
References m_seqFrag.
Referenced by ns3::FrameExchangeManager::GetNextFragment().
|
protectedvirtual |
Set the Frame Control field with the given raw value.
control | the 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().
void ns3::WifiMacHeader::SetId | ( | uint16_t | id | ) |
Set the Duration/ID field with the given ID.
id | the ID |
Definition at line 287 of file wifi-mac-header.cc.
References m_duration.
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().
void ns3::WifiMacHeader::SetNoMoreFragments | ( | ) |
Un-set the More Fragment bit in the Frame Control Field.
Definition at line 305 of file wifi-mac-header.cc.
References m_ctrlMoreFrag.
Referenced by ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::FrameExchangeManager::GetNextFragment(), ns3::BlockAckManager::NotifyDiscardedMpdu(), ns3::QosTxop::PrepareBlockAckRequest(), ns3::HeFrameExchangeManager::PrepareMuBar(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::FrameExchangeManager::SendCtsToSelf(), TestUlOfdmaPowerControl::SendMuBar(), ns3::HeFrameExchangeManager::SendMuRts(), ns3::FrameExchangeManager::SendNormalAck(), ns3::FrameExchangeManager::SendRts(), and TestMultipleCtsResponsesFromMuRts::TxNonHtDuplicateCts().
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().
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().
void ns3::WifiMacHeader::SetNoRetry | ( | ) |
Un-set the Retry bit in the Frame Control field.
Definition at line 335 of file wifi-mac-header.cc.
References m_ctrlRetry.
Referenced by ns3::FrameExchangeManager::DoSendCtsAfterRts(), ns3::BlockAckManager::NotifyDiscardedMpdu(), ns3::QosTxop::PrepareBlockAckRequest(), ns3::HeFrameExchangeManager::PrepareMuBar(), ns3::QosFrameExchangeManager::SendCfEndIfNeeded(), ns3::FrameExchangeManager::SendCtsToSelf(), TestUlOfdmaPowerControl::SendMuBar(), ns3::HeFrameExchangeManager::SendMuRts(), ns3::FrameExchangeManager::SendNormalAck(), ns3::FrameExchangeManager::SendRts(), and TestMultipleCtsResponsesFromMuRts::TxNonHtDuplicateCts().
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.
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().
void ns3::WifiMacHeader::SetQosAckPolicy | ( | QosAckPolicy | policy | ) |
Set the QoS Ack policy in the QoS control field.
policy | the 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().
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().
|
protectedvirtual |
Set the QoS Control field with the given raw value.
qos | the 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().
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().
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().
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().
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().
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.
void ns3::WifiMacHeader::SetQosQueueSize | ( | uint8_t | size | ) |
Set the Queue Size subfield in the QoS control field.
size | the 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().
void ns3::WifiMacHeader::SetQosTid | ( | uint8_t | tid | ) |
Set the TID for the QoS header.
tid | the 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().
void ns3::WifiMacHeader::SetQosTxopLimit | ( | uint8_t | txop | ) |
Set TXOP limit in the QoS control field.
txop | the TXOP limit |
Definition at line 403 of file wifi-mac-header.cc.
References m_qosStuff.
void ns3::WifiMacHeader::SetRawDuration | ( | uint16_t | duration | ) |
Set the Duration/ID field with the given raw uint16_t value.
duration | the raw duration in uint16_t |
Definition at line 271 of file wifi-mac-header.cc.
References m_duration, and NS_ASSERT.
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.
|
protected |
Set the Sequence Control field with the given raw value.
seq | the raw Sequence Control field value |
Definition at line 952 of file wifi-mac-header.cc.
References m_seqFrag, and m_seqSeq.
Referenced by Deserialize().
void ns3::WifiMacHeader::SetSequenceNumber | ( | uint16_t | seq | ) |
Set the sequence number of the header.
seq | the given sequence number |
Definition at line 293 of file wifi-mac-header.cc.
References m_seqSeq.
Referenced by ns3::WifiMpdu::AssignSeqNo(), BlockAckRecipientBufferTest::DoRun(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), WifiPrimaryChannelsTest::DoSetup(), WifiExtractExpiredMpdusTest::Enqueue(), ns3::QosTxop::PeekNextMpdu(), TestMultipleHeTbPreambles::RxHeTbPpdu(), WifiPrimaryChannelsTest::SendDlMuPpdu(), WifiPrimaryChannelsTest::SendDlSuPpdu(), ns3::EhtFrameExchangeManager::SendEmlOmn(), TestUlMuMimoPhyTransmission::SendHeSuPpdu(), TestUlOfdmaPhyTransmission::SendHeSuPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), SpectrumWifiPhyFilterTest::SendPpdu(), SpectrumWifiPhyMultipleInterfacesTest::SendPpdu(), ns3::HeFrameExchangeManager::SendQosNullFramesInTbPpdu(), TestUlOfdmaPpduUid::SendSuPpdu(), and TestUlOfdmaPpduUid::SendTbPpdu().
|
virtual |
Set Type/Subtype values with the correct values depending on the given type.
type | the WifiMacType for the header |
resetToDsFromDs | whether 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().
|
protected |
address 1
Definition at line 678 of file wifi-mac-header.h.
Referenced by Deserialize(), GetAddr1(), Print(), Serialize(), and SetAddr1().
|
protected |
address 2
Definition at line 679 of file wifi-mac-header.h.
Referenced by Deserialize(), GetAddr2(), Print(), Serialize(), and SetAddr2().
|
protected |
address 3
Definition at line 680 of file wifi-mac-header.h.
Referenced by Deserialize(), GetAddr3(), Print(), Serialize(), and SetAddr3().
|
protected |
address 4
Definition at line 683 of file wifi-mac-header.h.
Referenced by Deserialize(), GetAddr4(), Print(), Serialize(), and SetAddr4().
|
protected |
A-MSDU present.
Definition at line 687 of file wifi-mac-header.h.
Referenced by GetQosControl(), IsQosAmsdu(), SetQosAmsdu(), SetQosControl(), and SetQosNoAmsdu().
|
protected |
control from DS
Definition at line 668 of file wifi-mac-header.h.
Referenced by Deserialize(), GetFrameControl(), GetSize(), IsFromDs(), Print(), PrintFrameControl(), Serialize(), SetDsFrom(), SetDsNotFrom(), SetFrameControl(), and SetType().
|
protected |
control more data
Definition at line 672 of file wifi-mac-header.h.
Referenced by GetFrameControl(), IsMoreData(), PrintFrameControl(), and SetFrameControl().
|
protected |
control more fragments
Definition at line 669 of file wifi-mac-header.h.
Referenced by GetFrameControl(), IsMoreFragments(), PrintFrameControl(), SetFrameControl(), SetMoreFragments(), and SetNoMoreFragments().
|
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().
|
protected |
control power management
Definition at line 671 of file wifi-mac-header.h.
Referenced by GetFrameControl(), IsPowerManagement(), PrintFrameControl(), SetFrameControl(), SetNoPowerManagement(), and SetPowerManagement().
|
protected |
control retry
Definition at line 670 of file wifi-mac-header.h.
Referenced by GetFrameControl(), IsRetry(), PrintFrameControl(), SetFrameControl(), SetNoRetry(), and SetRetry().
|
protected |
control subtype
Definition at line 666 of file wifi-mac-header.h.
Referenced by Deserialize(), GetFrameControl(), GetSize(), GetType(), IsQosData(), Serialize(), SetFrameControl(), and SetType().
|
protected |
control to DS
Definition at line 667 of file wifi-mac-header.h.
Referenced by Deserialize(), GetFrameControl(), GetSize(), IsToDs(), Print(), PrintFrameControl(), Serialize(), SetDsNotTo(), SetDsTo(), SetFrameControl(), and SetType().
|
protected |
control type
Definition at line 665 of file wifi-mac-header.h.
Referenced by Deserialize(), GetFrameControl(), GetSize(), GetType(), IsCtl(), IsData(), IsMgt(), IsQosData(), Serialize(), SetFrameControl(), and SetType().
|
protected |
control WEP
Definition at line 673 of file wifi-mac-header.h.
Referenced by GetFrameControl(), and SetFrameControl().
|
protected |
duration
Definition at line 677 of file wifi-mac-header.h.
Referenced by Deserialize(), GetDuration(), GetRawDuration(), Print(), Serialize(), SetDuration(), SetId(), and SetRawDuration().
|
protected |
QoS Ack policy.
Definition at line 686 of file wifi-mac-header.h.
Referenced by GetQosAckPolicy(), GetQosControl(), IsQosAck(), IsQosBlockAck(), IsQosNoAck(), SetQosAckPolicy(), and SetQosControl().
|
protected |
QoS EOSP.
Definition at line 685 of file wifi-mac-header.h.
Referenced by GetQosControl(), GetQosQueueSize(), IsQosEosp(), SetQosControl(), SetQosEosp(), SetQosNoEosp(), and SetQosQueueSize().
|
protected |
QoS stuff.
Definition at line 688 of file wifi-mac-header.h.
Referenced by GetQosControl(), GetQosQueueSize(), SetQosControl(), SetQosMeshControlPresent(), SetQosNoMeshControlPresent(), SetQosQueueSize(), and SetQosTxopLimit().
|
protected |
QoS TID.
Definition at line 684 of file wifi-mac-header.h.
Referenced by GetQosControl(), GetQosTid(), Print(), SetQosControl(), and SetQosTid().
|
protected |
sequence fragment
Definition at line 681 of file wifi-mac-header.h.
Referenced by GetFragmentNumber(), GetSequenceControl(), Print(), SetFragmentNumber(), and SetSequenceControl().
|
protected |
sequence sequence
Definition at line 682 of file wifi-mac-header.h.
Referenced by GetSequenceControl(), GetSequenceNumber(), Print(), SetSequenceControl(), and SetSequenceNumber().