22 #include "adhoc-wifi-mac.h"
24 #include "ns3/pointer.h"
26 #include "ns3/string.h"
27 #include "ns3/boolean.h"
28 #include "ns3/trace-source-accessor.h"
32 #include "dcf-manager.h"
33 #include "mac-rx-middle.h"
34 #include "mac-tx-middle.h"
35 #include "msdu-aggregator.h"
36 #include "amsdu-subframe-header.h"
37 #include "mgt-headers.h"
43 NS_OBJECT_ENSURE_REGISTERED (AdhocWifiMac);
46 AdhocWifiMac::GetTypeId (
void)
48 static TypeId tid = TypeId (
"ns3::AdhocWifiMac")
49 .SetParent<RegularWifiMac> ()
50 .AddConstructor<AdhocWifiMac> ()
55 AdhocWifiMac::AdhocWifiMac ()
63 AdhocWifiMac::~AdhocWifiMac ()
86 if (m_stationManager->IsBrandNew (to))
90 for (uint32_t i = 0; i < m_phy->
GetNModes (); i++)
92 m_stationManager->AddSupportedMode (to, m_phy->
GetMode (i));
94 m_stationManager->RecordDisassociated (to);
111 hdr.SetType (WIFI_MAC_QOSDATA);
112 hdr.SetQosAckPolicy (WifiMacHeader::NORMAL_ACK);
114 hdr.SetQosNoAmsdu ();
117 hdr.SetQosTxopLimit (0);
136 hdr.SetAddr2 (m_low->GetAddress ());
149 m_dca->Queue (packet, hdr);
174 if (hdr->IsQosData () && hdr->IsQosAmsdu ())
181 ForwardUp (packet, from, to);
virtual void SetLinkUpCallback(Callback< void > linkUp)
#define NS_LOG_FUNCTION(parameters)
virtual uint32_t GetNModes(void) const =0
virtual void Enqueue(Ptr< const Packet > packet, Mac48Address to)
#define NS_ASSERT(condition)
#define NS_LOG_COMPONENT_DEFINE(name)
virtual void DeaggregateAmsduAndForward(Ptr< Packet > aggregatedPacket, const WifiMacHeader *hdr)
virtual void Receive(Ptr< Packet > packet, const WifiMacHeader *hdr)
virtual void Receive(Ptr< Packet > packet, const WifiMacHeader *hdr)
uint8_t QosUtilsGetTidForPacket(Ptr< const Packet > packet)
virtual void SetBssid(Mac48Address bssid)
virtual void SetAddress(Mac48Address address)
void SetTypeOfStation(TypeOfStation type)
AcIndex QosUtilsMapTidToAc(uint8_t tid)
virtual void SetAddress(Mac48Address address)
virtual void SetLinkUpCallback(Callback< void > linkUp)
virtual WifiMode GetMode(uint32_t mode) const =0
virtual Mac48Address GetBssid(void) const
#define NS_LOG_DEBUG(msg)