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. 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 | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
Implements the IEEE 802.11 MAC header.
Definition at line 97 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 637 of file wifi-mac-header.h.
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.
ns3::WifiMacHeader::WifiMacHeader | ( | ) |
Definition at line 60 of file wifi-mac-header.cc.
ns3::WifiMacHeader::WifiMacHeader | ( | WifiMacType | type | ) |
Construct a MAC header of the given type.
type | the MAC header type |
Definition at line 76 of file wifi-mac-header.cc.
References SetType(), and check-style-clang-format::type.
|
override |
Definition at line 82 of file wifi-mac-header.cc.
|
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 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.
Mac48Address ns3::WifiMacHeader::GetAddr1 | ( | ) | const |
Return 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().
Mac48Address ns3::WifiMacHeader::GetAddr2 | ( | ) | const |
Return 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().
Mac48Address ns3::WifiMacHeader::GetAddr3 | ( | ) | const |
Return the address in the Address 3 field.
Definition at line 475 of file wifi-mac-header.cc.
References m_addr3.
Referenced by ns3::HeFrameExchangeManager::IsIntraBssPpdu(), ns3::MeshWifiInterfaceMac::Receive(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), ns3::dot11s::PeerManagementProtocolMac::Receive(), ns3::dot11s::HwmpProtocolMac::ReceiveAction(), ns3::StaWifiMac::ReceiveAssocResp(), ns3::StaWifiMac::ReceiveBeacon(), ns3::dot11s::HwmpProtocolMac::ReceiveData(), ns3::StaWifiMac::ReceiveProbeResp(), WifiPrimaryChannelsTest::ReceiveUl(), ns3::PyViz::TraceNetDevRxWifi(), and ns3::PyViz::TraceNetDevTxWifi().
Mac48Address ns3::WifiMacHeader::GetAddr4 | ( | ) | const |
Return 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().
Time ns3::WifiMacHeader::GetDuration | ( | ) | const |
Return 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().
uint8_t ns3::WifiMacHeader::GetFragmentNumber | ( | ) | const |
Return 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().
|
protectedvirtual |
Return 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().
|
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 1113 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 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().
|
protectedvirtual |
Return 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().
uint8_t ns3::WifiMacHeader::GetQosQueueSize | ( | ) | const |
Get the Queue Size subfield in the QoS control field.
Definition at line 932 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 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().
uint16_t ns3::WifiMacHeader::GetRawDuration | ( | ) | const |
Return the raw duration from the Duration/ID field.
Definition at line 810 of file wifi-mac-header.cc.
References m_duration.
uint16_t ns3::WifiMacHeader::GetSequenceControl | ( | ) | const |
Return 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().
uint16_t ns3::WifiMacHeader::GetSequenceNumber | ( | ) | const |
Return the sequence number of the header.
Definition at line 828 of file wifi-mac-header.cc.
References m_seqSeq.
Referenced by ns3::WifiTxParameters::AddMpdu(), ns3::MacRxMiddle::HandleFragments(), ns3::BlockAckManager::HandleInFlightMpdu(), ns3::QosTxop::PeekNextMpdu(), ns3::WifiMpdu::Print(), ns3::MacRxMiddle::Receive(), 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 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().
|
virtual |
Return the size of the WifiMacHeader in octets.
GetSerializedSize calls this function.
Definition at line 1000 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 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().
|
static |
Get the type ID.
Definition at line 1103 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 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().
bool ns3::WifiMacHeader::HasData | ( | ) | const |
Return true if the header type is DATA and is not DATA_NULL.
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().
bool ns3::WifiMacHeader::IsAck | ( | ) | const |
Return true if the header is an Ack header.
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().
bool ns3::WifiMacHeader::IsAction | ( | ) | const |
Return true if the header is an Action header.
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().
bool ns3::WifiMacHeader::IsActionNoAck | ( | ) | const |
Return true if the header is an Action No Ack header.
Definition at line 780 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 714 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 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().
bool ns3::WifiMacHeader::IsAuthentication | ( | ) | const |
Return true if the header is an Authentication header.
Definition at line 762 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 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().
bool ns3::WifiMacHeader::IsBlockAck | ( | ) | const |
Return true if the header is a BlockAck header.
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().
bool ns3::WifiMacHeader::IsBlockAckReq | ( | ) | const |
Return true if the header is a BlockAckRequest header.
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().
bool ns3::WifiMacHeader::IsCfAck | ( | ) | const |
Return true if the header is a CF-Ack header.
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.
bool ns3::WifiMacHeader::IsCfEnd | ( | ) | const |
Return true if the header is a CF-End header.
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().
bool ns3::WifiMacHeader::IsCfPoll | ( | ) | const |
Return true if the Type/Subtype is one of the possible CF-Poll headers.
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.
bool ns3::WifiMacHeader::IsCtl | ( | ) | const |
Return true if the Type is Control.
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().
bool ns3::WifiMacHeader::IsCts | ( | ) | const |
Return true if the header is a CTS header.
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().
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 599 of file wifi-mac-header.cc.
References m_ctrlType, and ns3::TYPE_DATA.
Referenced by ns3::MacRxMiddle::Receive(), ns3::WifiMac::Receive(), ns3::MeshWifiInterfaceMac::Receive(), ns3::AdhocWifiMac::Receive(), ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), ns3::dot11s::HwmpProtocolMac::Receive(), ns3::flame::FlameProtocolMac::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 768 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 756 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_MGT_DISASSOCIATION.
bool ns3::WifiMacHeader::IsFromDs | ( | ) | const |
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().
bool ns3::WifiMacHeader::IsMgt | ( | ) | const |
Return true if the Type is Management.
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().
bool ns3::WifiMacHeader::IsMoreData | ( | ) | const |
Return if the More Data bit is set.
Definition at line 846 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 852 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 786 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 858 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 738 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 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().
bool ns3::WifiMacHeader::IsPsPoll | ( | ) | const |
Return true if the header is a PS-POLL header.
Definition at line 702 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 878 of file wifi-mac-header.cc.
References IsQosData(), m_qosAckPolicy, and NS_ASSERT.
Referenced by ns3::WifiMpdu::Print().
bool ns3::WifiMacHeader::IsQosAmsdu | ( | ) | const |
Check if the A-MSDU present bit is set in the QoS control field.
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().
bool ns3::WifiMacHeader::IsQosBlockAck | ( | ) | const |
Return if the QoS Ack policy is Block Ack.
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().
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 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().
bool ns3::WifiMacHeader::IsQosEosp | ( | ) | const |
Return if the end of service period (EOSP) is set.
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().
bool ns3::WifiMacHeader::IsQosNoAck | ( | ) | const |
Return if the QoS Ack policy is No Ack.
Definition at line 871 of file wifi-mac-header.cc.
References IsQosData(), m_qosAckPolicy, and NS_ASSERT.
Referenced by ns3::WifiMpdu::Print().
bool ns3::WifiMacHeader::IsReassocReq | ( | ) | const |
Return true if the header is a Reassociation Request header.
Definition at line 726 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 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().
bool ns3::WifiMacHeader::IsRetry | ( | ) | const |
Return if the Retry bit is set.
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().
bool ns3::WifiMacHeader::IsRts | ( | ) | const |
Return true if the header is a RTS header.
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().
bool ns3::WifiMacHeader::IsToDs | ( | ) | const |
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().
bool ns3::WifiMacHeader::IsTrigger | ( | ) | const |
Return true if the header is a Trigger header.
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().
|
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 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.
|
protected |
Print the Frame Control field to the output stream.
os | the 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().
|
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 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().
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 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().
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 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().
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 123 of file wifi-mac-header.cc.
References first::address, and m_addr3.
Referenced by ns3::WifiMpdu::Aggregate(), ns3::MeshWifiBeacon::CreateHeader(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), ns3::MeshWifiInterfaceMac::ForwardDown(), ns3::ApWifiMac::ForwardDown(), ns3::dot11s::HwmpProtocolMac::ForwardPerr(), 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 129 of file wifi-mac-header.cc.
References first::address, and m_addr4.
Referenced by ns3::MeshWifiInterfaceMac::ForwardDown().
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().
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().
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().
void ns3::WifiMacHeader::SetDsTo | ( | ) |
Set the To DS bit in the Frame Control field.
Definition at line 99 of file wifi-mac-header.cc.
References m_ctrlToDs.
Referenced by ns3::StaWifiMac::Enqueue(), ns3::MeshWifiInterfaceMac::ForwardDown(), 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 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().
void ns3::WifiMacHeader::SetFragmentNumber | ( | uint8_t | frag | ) |
Set the fragment number of the header.
frag | the given fragment number |
Definition at line 330 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 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().
void ns3::WifiMacHeader::SetId | ( | uint16_t | id | ) |
Set the Duration/ID field with the given ID.
id | the ID |
Definition at line 318 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 342 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 336 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 354 of file wifi-mac-header.cc.
References m_ctrlOrder.
Referenced by ns3::AdhocWifiMac::Enqueue(), ns3::StaWifiMac::Enqueue(), and ns3::ApWifiMac::ForwardDown().
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().
void ns3::WifiMacHeader::SetNoRetry | ( | ) |
Un-set the Retry bit in the Frame Control field.
Definition at line 366 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 348 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 378 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 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().
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().
|
protectedvirtual |
Set the QoS Control field with the given raw value.
qos | the 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().
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().
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().
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().
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().
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.
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 440 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 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().
void ns3::WifiMacHeader::SetQosTxopLimit | ( | uint8_t | txop | ) |
Set TXOP limit in the QoS control field.
txop | the 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().
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 302 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 360 of file wifi-mac-header.cc.
References m_ctrlRetry.
Referenced by ns3::HtFrameExchangeManager::MissedBlockAck().
|
protected |
Set the Sequence Control field with the given raw value.
seq | the raw Sequence Control field value |
Definition at line 983 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 324 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(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::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 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().
|
protected |
address 1
Definition at line 690 of file wifi-mac-header.h.
Referenced by Deserialize(), GetAddr1(), Print(), Serialize(), and SetAddr1().
|
protected |
address 2
Definition at line 691 of file wifi-mac-header.h.
Referenced by Deserialize(), GetAddr2(), Print(), Serialize(), and SetAddr2().
|
protected |
address 3
Definition at line 692 of file wifi-mac-header.h.
Referenced by Deserialize(), GetAddr3(), Print(), Serialize(), and SetAddr3().
|
protected |
address 4
Definition at line 695 of file wifi-mac-header.h.
Referenced by Deserialize(), GetAddr4(), Print(), Serialize(), and SetAddr4().
|
protected |
A-MSDU present.
Definition at line 699 of file wifi-mac-header.h.
Referenced by GetQosControl(), IsQosAmsdu(), SetQosAmsdu(), SetQosControl(), and SetQosNoAmsdu().
|
protected |
control from DS
Definition at line 680 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 684 of file wifi-mac-header.h.
Referenced by GetFrameControl(), IsMoreData(), PrintFrameControl(), and SetFrameControl().
|
protected |
control more fragments
Definition at line 681 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 686 of file wifi-mac-header.h.
Referenced by GetFrameControl(), SetFrameControl(), SetNoOrder(), and SetOrder().
|
protected |
control power management
Definition at line 683 of file wifi-mac-header.h.
Referenced by GetFrameControl(), IsPowerManagement(), PrintFrameControl(), SetFrameControl(), SetNoPowerManagement(), and SetPowerManagement().
|
protected |
control retry
Definition at line 682 of file wifi-mac-header.h.
Referenced by GetFrameControl(), IsRetry(), PrintFrameControl(), SetFrameControl(), SetNoRetry(), and SetRetry().
|
protected |
control subtype
Definition at line 678 of file wifi-mac-header.h.
Referenced by Deserialize(), GetFrameControl(), GetSize(), GetType(), IsQosData(), Serialize(), SetFrameControl(), and SetType().
|
protected |
control to DS
Definition at line 679 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 677 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 685 of file wifi-mac-header.h.
Referenced by GetFrameControl(), and SetFrameControl().
|
protected |
duration
Definition at line 689 of file wifi-mac-header.h.
Referenced by Deserialize(), GetDuration(), GetRawDuration(), Print(), Serialize(), SetDuration(), SetId(), and SetRawDuration().
|
protected |
QoS Ack policy.
Definition at line 698 of file wifi-mac-header.h.
Referenced by GetQosAckPolicy(), GetQosControl(), IsQosAck(), IsQosBlockAck(), IsQosNoAck(), SetQosAckPolicy(), and SetQosControl().
|
protected |
QoS EOSP.
Definition at line 697 of file wifi-mac-header.h.
Referenced by GetQosControl(), GetQosQueueSize(), IsQosEosp(), SetQosControl(), SetQosEosp(), SetQosNoEosp(), and SetQosQueueSize().
|
protected |
QoS stuff.
Definition at line 700 of file wifi-mac-header.h.
Referenced by GetQosControl(), GetQosQueueSize(), SetQosControl(), SetQosMeshControlPresent(), SetQosNoMeshControlPresent(), SetQosQueueSize(), and SetQosTxopLimit().
|
protected |
QoS TID.
Definition at line 696 of file wifi-mac-header.h.
Referenced by GetQosControl(), GetQosTid(), SetQosControl(), and SetQosTid().
|
protected |
sequence fragment
Definition at line 693 of file wifi-mac-header.h.
Referenced by GetFragmentNumber(), GetSequenceControl(), Print(), SetFragmentNumber(), and SetSequenceControl().
|
protected |
sequence sequence
Definition at line 694 of file wifi-mac-header.h.
Referenced by GetSequenceControl(), GetSequenceNumber(), Print(), SetSequenceControl(), and SetSequenceNumber().