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 () | |
WifiMacHeader (WifiMacType type) | |
Construct a MAC header of the given type. | |
~WifiMacHeader () override | |
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. | |
![]() | |
~Header () override | |
uint32_t | Deserialize (Buffer::Iterator start) override=0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | GetSerializedSize () const =0 |
void | Print (std::ostream &os) const override=0 |
virtual void | Serialize (Buffer::Iterator start) const =0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
virtual void | Print (std::ostream &os) const =0 |
Print the object contents. | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value) 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. | |
virtual TypeId | GetInstanceTypeId () const =0 |
Get the most derived TypeId for this Object. | |
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 TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. | |
![]() | |
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. | |
![]() | |
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 |
A-MSDU present. | |
uint8_t | m_ctrlFromDs |
control from DS | |
uint8_t | m_ctrlMoreData |
control more data | |
uint8_t | m_ctrlMoreFrag |
control more fragments | |
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) | |
uint8_t | m_ctrlPowerManagement |
control power management | |
uint8_t | m_ctrlRetry |
control retry | |
uint8_t | m_ctrlSubtype |
control subtype | |
uint8_t | m_ctrlToDs |
control to DS | |
uint8_t | m_ctrlType |
control type | |
uint8_t | m_ctrlWep |
control WEP | |
uint16_t | m_duration |
duration | |
uint8_t | m_qosAckPolicy |
QoS Ack policy. | |
uint8_t | m_qosEosp |
QoS EOSP. | |
uint8_t | m_qosStuff |
QoS stuff. | |
uint8_t | m_qosTid |
QoS TID. | |
uint8_t | m_seqFrag |
sequence fragment | |
uint16_t | m_seqSeq |
sequence sequence | |
Additional Inherited Members | |
![]() | |
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.
Size of this type is 56 bytes (on a 64-bit architecture).
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().
|
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(), 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(), 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::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::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::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(), 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::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::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::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.
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::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::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(), 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(), 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(), 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(), and ns3::QosFrameExchangeManager::SetTxopHolder().
bool ns3::WifiMacHeader::IsToDs | ( | ) | const |
Definition at line 593 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 804 of file wifi-mac-header.cc.
References GetType(), and ns3::WIFI_MAC_CTL_TRIGGER.
Referenced by 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 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 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 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 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 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::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.
|
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, 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().