base class for all MAC-level wifi objects. More...
#include <wifi-mac.h>
Public Member Functions | |
void | ConfigureStandard (enum WifiPhyStandard standard) |
virtual void | Enqueue (Ptr< const Packet > packet, Mac48Address to, Mac48Address from)=0 |
virtual void | Enqueue (Ptr< const Packet > packet, Mac48Address to)=0 |
virtual Time | GetAckTimeout (void) const =0 |
virtual Mac48Address | GetAddress (void) const =0 |
virtual Time | GetBasicBlockAckTimeout (void) const |
virtual Mac48Address | GetBssid (void) const =0 |
virtual Time | GetCompressedBlockAckTimeout (void) const |
virtual Time | GetCtsTimeout (void) const =0 |
virtual Time | GetEifsNoDifs (void) const =0 |
Time | GetMaxPropagationDelay (void) const |
Time | GetMsduLifetime (void) const |
virtual Time | GetPifs (void) const =0 |
virtual Time | GetRifs (void) const =0 |
virtual Time | GetSifs (void) const =0 |
virtual Time | GetSlot (void) const =0 |
virtual Ssid | GetSsid (void) const =0 |
void | NotifyPromiscRx (Ptr< const Packet > packet) |
void | NotifyRx (Ptr< const Packet > packet) |
void | NotifyRxDrop (Ptr< const Packet > packet) |
void | NotifyTx (Ptr< const Packet > packet) |
void | NotifyTxDrop (Ptr< const Packet > packet) |
virtual void | SetAckTimeout (Time ackTimeout)=0 |
virtual void | SetAddress (Mac48Address address)=0 |
virtual void | SetBasicBlockAckTimeout (Time blockAckTimeout) |
virtual void | SetCompressedBlockAckTimeout (Time blockAckTimeout) |
virtual void | SetCtsTimeout (Time ctsTimeout)=0 |
virtual void | SetEifsNoDifs (Time eifsNoDifs)=0 |
virtual void | SetForwardUpCallback (Callback< void, Ptr< Packet >, Mac48Address, Mac48Address > upCallback)=0 |
virtual void | SetLinkDownCallback (Callback< void > linkDown)=0 |
virtual void | SetLinkUpCallback (Callback< void > linkUp)=0 |
void | SetMaxPropagationDelay (Time delay) |
virtual void | SetPifs (Time pifs)=0 |
virtual void | SetPromisc (void)=0 |
Sets the interface in promiscuous mode. More... | |
virtual void | SetRifs (Time rifs)=0 |
virtual void | SetSifs (Time sifs)=0 |
virtual void | SetSlot (Time slotTime)=0 |
virtual void | SetSsid (Ssid ssid)=0 |
virtual void | SetWifiPhy (Ptr< WifiPhy > phy)=0 |
virtual void | SetWifiRemoteStationManager (Ptr< WifiRemoteStationManager > stationManager)=0 |
virtual bool | SupportsSendFrom (void) const =0 |
Public Member Functions inherited from ns3::Object | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
Run the DoDispose methods of this object and all the objects aggregated to it. More... | |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
This method calls the virtual DoInitialize method on all the objects aggregated to this object. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Noop. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Protected Member Functions | |
void | ConfigureDcf (Ptr< Dcf > dcf, uint32_t cwmin, uint32_t cwmax, enum AcIndex ac) |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
This method is called by Object::Dispose or by the object's destructor, whichever comes first. More... | |
virtual void | DoInitialize (void) |
This method is called only once by Object::Initialize. More... | |
virtual void | NotifyNewAggregate (void) |
This method is invoked whenever two sets of objects are aggregated together. More... | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
Private Member Functions | |
void | Configure80211_10Mhz (void) |
Configure appropriate timing parameters for 802.11 with 10Mhz channel spacing. More... | |
void | Configure80211_5Mhz () |
Configure appropriate timing parameters for 802.11 with 5Mhz channel spacing. More... | |
void | Configure80211a (void) |
Configure appropriate timing parameters for 802.11a. More... | |
void | Configure80211b (void) |
Configure appropriate timing parameters for 802.11b. More... | |
void | Configure80211g (void) |
Configure appropriate timing parameters for 802.11g. More... | |
void | Configure80211n_2_4Ghz (void) |
Configure appropriate timing parameters for 802.11n operating at 2.4Ghz. More... | |
void | Configure80211n_5Ghz (void) |
Configure appropriate timing parameters for 802.11n operating at 5Ghz. More... | |
virtual void | FinishConfigureStandard (enum WifiPhyStandard standard)=0 |
Static Private Member Functions | |
static Time | GetDefaultBasicBlockAckDelay (void) |
Return the default basic block ACK delay. More... | |
static Time | GetDefaultBasicBlockAckTimeout (void) |
Return the default basic block ACK timeout. More... | |
static Time | GetDefaultCompressedBlockAckDelay (void) |
Return the default compressed block ACK delay. More... | |
static Time | GetDefaultCompressedBlockAckTimeout (void) |
Return the default compressed block ACK timeout. More... | |
static Time | GetDefaultCtsAckDelay (void) |
static Time | GetDefaultCtsAckTimeout (void) |
static Time | GetDefaultEifsNoDifs (void) |
static Time | GetDefaultMaxPropagationDelay (void) |
static Time | GetDefaultRifs (void) |
static Time | GetDefaultSifs (void) |
static Time | GetDefaultSlot (void) |
Private Attributes | |
TracedCallback< Ptr< const Packet > > | m_macPromiscRxTrace |
The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition). More... | |
TracedCallback< Ptr< const Packet > > | m_macRxDropTrace |
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during reception. More... | |
TracedCallback< Ptr< const Packet > > | m_macRxTrace |
The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition). More... | |
TracedCallback< Ptr< const Packet > > | m_macTxDropTrace |
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during transmission. More... | |
TracedCallback< Ptr< const Packet > > | m_macTxTrace |
The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission. More... | |
Time | m_maxPropagationDelay |
base class for all MAC-level wifi objects.
This class encapsulates all the low-level MAC functionality DCA, EDCA, etc) and all the high-level MAC functionality (association/disassociation state machines).
ns3::WifiMac is accessible through the following paths with Config::Set and Config::Connect:
Definition at line 44 of file wifi-mac.h.
|
private |
Configure appropriate timing parameters for 802.11 with 10Mhz channel spacing.
Definition at line 346 of file wifi-mac.cc.
References GetDefaultMaxPropagationDelay(), SetAckTimeout(), SetCtsTimeout(), SetEifsNoDifs(), SetPifs(), SetSifs(), and SetSlot().
Referenced by ConfigureStandard().
|
private |
Configure appropriate timing parameters for 802.11 with 5Mhz channel spacing.
Definition at line 357 of file wifi-mac.cc.
References GetDefaultMaxPropagationDelay(), SetAckTimeout(), SetCtsTimeout(), SetEifsNoDifs(), SetPifs(), SetSifs(), and SetSlot().
Referenced by ConfigureStandard().
|
private |
Configure appropriate timing parameters for 802.11a.
Definition at line 312 of file wifi-mac.cc.
References GetDefaultMaxPropagationDelay(), SetAckTimeout(), SetCtsTimeout(), SetEifsNoDifs(), SetPifs(), SetSifs(), and SetSlot().
Referenced by Configure80211n_5Ghz(), and ConfigureStandard().
|
private |
Configure appropriate timing parameters for 802.11b.
Definition at line 323 of file wifi-mac.cc.
References GetDefaultMaxPropagationDelay(), SetAckTimeout(), SetCtsTimeout(), SetEifsNoDifs(), SetPifs(), SetSifs(), and SetSlot().
Referenced by ConfigureStandard().
|
private |
Configure appropriate timing parameters for 802.11g.
Definition at line 334 of file wifi-mac.cc.
References GetDefaultMaxPropagationDelay(), SetAckTimeout(), SetCtsTimeout(), SetEifsNoDifs(), SetPifs(), SetSifs(), and SetSlot().
Referenced by Configure80211n_2_4Ghz(), and ConfigureStandard().
|
private |
Configure appropriate timing parameters for 802.11n operating at 2.4Ghz.
Definition at line 368 of file wifi-mac.cc.
References Configure80211g(), GetDefaultMaxPropagationDelay(), SetAckTimeout(), SetCtsTimeout(), and SetRifs().
Referenced by ConfigureStandard().
|
private |
Configure appropriate timing parameters for 802.11n operating at 5Ghz.
Definition at line 376 of file wifi-mac.cc.
References Configure80211a(), GetDefaultMaxPropagationDelay(), SetAckTimeout(), SetCtsTimeout(), and SetRifs().
Referenced by ConfigureStandard().
|
protected |
dcf | the DCF to be configured |
cwmin | the minimum congestion window for the DCF |
cwmax | the maximum congestion window for the DCF |
ac | the access category for the DCF |
Configure the DCF with appropriate values depending on the given access category.
Definition at line 385 of file wifi-mac.cc.
References ns3::AC_BE, ns3::AC_BE_NQOS, ns3::AC_BK, ns3::AC_UNDEF, ns3::AC_VI, ns3::AC_VO, and NS_FATAL_ERROR.
Referenced by ns3::RegularWifiMac::FinishConfigureStandard().
void ns3::WifiMac::ConfigureStandard | ( | enum WifiPhyStandard | standard | ) |
standard | the wifi standard to be configured |
Definition at line 276 of file wifi-mac.cc.
References Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), Configure80211n_2_4Ghz(), Configure80211n_5Ghz(), FinishConfigureStandard(), NS_ASSERT, ns3::WIFI_PHY_STANDARD_80211_10MHZ, ns3::WIFI_PHY_STANDARD_80211_5MHZ, ns3::WIFI_PHY_STANDARD_80211a, ns3::WIFI_PHY_STANDARD_80211b, ns3::WIFI_PHY_STANDARD_80211g, ns3::WIFI_PHY_STANDARD_80211n_2_4GHZ, ns3::WIFI_PHY_STANDARD_80211n_5GHZ, and ns3::WIFI_PHY_STANDARD_holland.
Referenced by ns3::WifiTest::CreateOne(), ns3::InterferenceHelperSequenceTest::CreateOne(), and ns3::Bug555TestCase::DoRun().
|
pure virtual |
packet | the packet to send. |
to | the address to which the packet should be sent. |
from | the address from which the packet should be sent. |
The packet should be enqueued in a tx queue, and should be dequeued as soon as the DCF function determines that access it granted to this MAC. The extra parameter "from" allows this device to operate in a bridged mode, forwarding received frames without altering the source address.
Implemented in ns3::RegularWifiMac, ns3::ApWifiMac, and ns3::MeshWifiInterfaceMac.
|
pure virtual |
packet | the packet to send. |
to | the address to which the packet should be sent. |
The packet should be enqueued in a tx queue, and should be dequeued as soon as the DCF function determines that access it granted to this MAC.
Implemented in ns3::RegularWifiMac, ns3::OcbWifiMac, ns3::MeshWifiInterfaceMac, ns3::ApWifiMac, ns3::AdhocWifiMac, and ns3::StaWifiMac.
|
privatepure virtual |
standard | the phy standard to be used |
This method is called by ns3::WifiMac::ConfigureStandard to complete the configuration process for a requested phy standard. Subclasses should implement this method to configure their dcf queues according to the requested standard.
Implemented in ns3::RegularWifiMac, ns3::MeshWifiInterfaceMac, and ns3::OcbWifiMac.
Referenced by ConfigureStandard().
|
pure virtual |
Implemented in ns3::RegularWifiMac.
Referenced by GetTypeId().
|
pure virtual |
Implemented in ns3::RegularWifiMac.
|
virtual |
Reimplemented in ns3::RegularWifiMac.
Definition at line 119 of file wifi-mac.cc.
Referenced by GetTypeId().
|
pure virtual |
Implemented in ns3::RegularWifiMac, and ns3::OcbWifiMac.
|
virtual |
Reimplemented in ns3::RegularWifiMac.
Definition at line 132 of file wifi-mac.cc.
Referenced by GetTypeId().
|
pure virtual |
Implemented in ns3::RegularWifiMac.
Referenced by GetTypeId().
|
staticprivate |
Return the default basic block ACK delay.
Currently it returns 250 microseconds.
Definition at line 81 of file wifi-mac.cc.
Referenced by GetDefaultBasicBlockAckTimeout().
|
staticprivate |
Return the default basic block ACK timeout.
Definition at line 94 of file wifi-mac.cc.
References GetDefaultBasicBlockAckDelay(), GetDefaultMaxPropagationDelay(), GetDefaultSifs(), and GetDefaultSlot().
Referenced by GetTypeId().
|
staticprivate |
Return the default compressed block ACK delay.
Currently it returns 76 microseconds.
Definition at line 87 of file wifi-mac.cc.
Referenced by GetDefaultCompressedBlockAckTimeout().
|
staticprivate |
Return the default compressed block ACK timeout.
Definition at line 103 of file wifi-mac.cc.
References GetDefaultCompressedBlockAckDelay(), GetDefaultMaxPropagationDelay(), GetDefaultSifs(), and GetDefaultSlot().
Referenced by GetTypeId().
|
staticprivate |
Return a default value for 802.11a at 6Mbps (44 microseconds)
Definition at line 61 of file wifi-mac.cc.
Referenced by GetDefaultCtsAckTimeout(), and GetDefaultEifsNoDifs().
|
staticprivate |
Return the default CTS and ACK timeout. Cts_Timeout and Ack_Timeout are specified in the Annex C (Formal description of MAC operation, see details on the Trsp timer setting at page 346)
Definition at line 67 of file wifi-mac.cc.
References GetDefaultCtsAckDelay(), GetDefaultMaxPropagationDelay(), GetDefaultSifs(), and GetDefaultSlot().
Referenced by GetTypeId().
|
staticprivate |
Return default SIFS + default CTS-ACK delay
Definition at line 56 of file wifi-mac.cc.
References GetDefaultCtsAckDelay(), and GetDefaultSifs().
Referenced by GetTypeId().
|
staticprivate |
By default, we get the maximum propagation delay from 1000 m and speed of light (3e8 m/s).
Definition at line 32 of file wifi-mac.cc.
Referenced by Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), Configure80211n_2_4Ghz(), Configure80211n_5Ghz(), GetDefaultBasicBlockAckTimeout(), GetDefaultCompressedBlockAckTimeout(), GetDefaultCtsAckTimeout(), and GetTypeId().
|
staticprivate |
Return a default RIFS value for 802.11n (2 microseconds).
Definition at line 50 of file wifi-mac.cc.
Referenced by GetTypeId().
|
staticprivate |
Return a default SIFS value for 802.11a (16 microseconds).
Definition at line 44 of file wifi-mac.cc.
Referenced by GetDefaultBasicBlockAckTimeout(), GetDefaultCompressedBlockAckTimeout(), GetDefaultCtsAckTimeout(), GetDefaultEifsNoDifs(), and GetTypeId().
|
staticprivate |
Return a default slot value for 802.11a (9 microseconds).
Definition at line 38 of file wifi-mac.cc.
Referenced by GetDefaultBasicBlockAckTimeout(), GetDefaultCompressedBlockAckTimeout(), GetDefaultCtsAckTimeout(), and GetTypeId().
|
pure virtual |
Implemented in ns3::RegularWifiMac.
Referenced by GetTypeId().
Time ns3::WifiMac::GetMaxPropagationDelay | ( | void | ) | const |
Unused for now.
Definition at line 240 of file wifi-mac.cc.
References m_maxPropagationDelay.
Time ns3::WifiMac::GetMsduLifetime | ( | void | ) | const |
|
pure virtual |
Implemented in ns3::RegularWifiMac.
Referenced by GetTypeId().
|
pure virtual |
Implemented in ns3::RegularWifiMac.
Referenced by GetTypeId().
|
pure virtual |
Implemented in ns3::RegularWifiMac.
Referenced by GetTypeId().
|
pure virtual |
Implemented in ns3::RegularWifiMac.
Referenced by GetTypeId().
|
pure virtual |
Implemented in ns3::RegularWifiMac, and ns3::OcbWifiMac.
Referenced by GetTypeId().
|
static |
Definition at line 139 of file wifi-mac.cc.
References GetAckTimeout(), GetBasicBlockAckTimeout(), GetCompressedBlockAckTimeout(), GetCtsTimeout(), GetDefaultBasicBlockAckTimeout(), GetDefaultCompressedBlockAckTimeout(), GetDefaultCtsAckTimeout(), GetDefaultEifsNoDifs(), GetDefaultMaxPropagationDelay(), GetDefaultRifs(), GetDefaultSifs(), GetDefaultSlot(), GetEifsNoDifs(), GetPifs(), GetRifs(), GetSifs(), GetSlot(), GetSsid(), m_macPromiscRxTrace, m_macRxDropTrace, m_macRxTrace, m_macTxDropTrace, m_macTxTrace, m_maxPropagationDelay, ns3::MakeTimeChecker(), ns3::MakeTraceSourceAccessor(), SetAckTimeout(), SetBasicBlockAckTimeout(), SetCompressedBlockAckTimeout(), SetCtsTimeout(), SetEifsNoDifs(), ns3::TypeId::SetParent(), SetPifs(), SetRifs(), SetSifs(), SetSlot(), and SetSsid().
packet | the packet we received promiscuously |
Public method used to fire a MacPromiscRx trace. Implemented for encapsulation purposes.
Definition at line 264 of file wifi-mac.cc.
References m_macPromiscRxTrace.
packet | the packet we received |
Public method used to fire a MacRx trace. Implemented for encapsulation purposes.
Definition at line 258 of file wifi-mac.cc.
References m_macRxTrace.
packet | the packet we received but is not destined for us |
Public method used to fire a MacRxDrop trace. Implemented for encapsulation purposes.
Definition at line 270 of file wifi-mac.cc.
References m_macRxDropTrace.
Referenced by ns3::ApWifiMac::Receive(), ns3::StaWifiMac::Receive(), and ns3::OcbWifiMac::Receive().
packet | the packet being enqueued |
Public method used to fire a MacTx trace. Implemented for encapsulation purposes. Note this trace indicates that the packet was accepted by the device only. The packet may be dropped later (e.g. if the queue is full).
Definition at line 246 of file wifi-mac.cc.
References m_macTxTrace.
packet | the packet being dropped |
Public method used to fire a MacTxDrop trace. Implemented for encapsulation purposes. This trace indicates that the packet was dropped before it was transmitted (e.g. when a STA is not associated with an AP).
Definition at line 252 of file wifi-mac.cc.
References m_macTxDropTrace.
Referenced by ns3::StaWifiMac::Enqueue().
|
pure virtual |
ackTimeout | the duration of an ACK timeout. |
Implemented in ns3::RegularWifiMac.
Referenced by Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), Configure80211n_2_4Ghz(), Configure80211n_5Ghz(), and GetTypeId().
|
pure virtual |
address | the current address of this MAC layer. |
Implemented in ns3::RegularWifiMac, ns3::ApWifiMac, and ns3::AdhocWifiMac.
|
virtual |
blockAckTimeout | the duration for basic block ACK timeout. |
Sets the timeout for basic block ACK.
Reimplemented in ns3::RegularWifiMac.
Definition at line 113 of file wifi-mac.cc.
Referenced by GetTypeId().
|
virtual |
blockAckTimeout | Sets the timeout for compressed block ACK. |
Reimplemented in ns3::RegularWifiMac.
Definition at line 126 of file wifi-mac.cc.
Referenced by GetTypeId().
|
pure virtual |
ctsTimeout | the duration of a CTS timeout. |
Implemented in ns3::RegularWifiMac.
Referenced by Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), Configure80211n_2_4Ghz(), Configure80211n_5Ghz(), and GetTypeId().
|
pure virtual |
eifsNoDifs | the duration of an EIFS minus DIFS. |
This value is used to calculate the EIFS depending on AIFSN.
Implemented in ns3::RegularWifiMac.
Referenced by Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), and GetTypeId().
|
pure virtual |
upCallback | the callback to invoke when a packet must be forwarded up the stack. |
|
pure virtual |
linkDown | the callback to invoke when the link becomes down. |
Implemented in ns3::RegularWifiMac, and ns3::OcbWifiMac.
|
pure virtual |
linkUp | the callback to invoke when the link becomes up. |
Implemented in ns3::RegularWifiMac, ns3::OcbWifiMac, ns3::MeshWifiInterfaceMac, ns3::ApWifiMac, and ns3::AdhocWifiMac.
void ns3::WifiMac::SetMaxPropagationDelay | ( | Time | delay | ) |
delay | the max propagation delay. |
Unused for now.
Definition at line 229 of file wifi-mac.cc.
References m_maxPropagationDelay.
|
pure virtual |
pifs | the pifs duration. |
Implemented in ns3::RegularWifiMac.
Referenced by Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), and GetTypeId().
|
pure virtual |
Sets the interface in promiscuous mode.
Enables promiscuous mode on the interface. Note that any further filtering on the incoming frame path may affect the overall behavior.
Implemented in ns3::RegularWifiMac.
|
pure virtual |
rifs | the rifs duration. |
Implemented in ns3::RegularWifiMac.
Referenced by Configure80211n_2_4Ghz(), Configure80211n_5Ghz(), and GetTypeId().
|
pure virtual |
sifs | the sifs duration |
Implemented in ns3::RegularWifiMac.
Referenced by Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), and GetTypeId().
|
pure virtual |
slotTime | the slot duration |
Implemented in ns3::RegularWifiMac.
Referenced by Configure80211_10Mhz(), Configure80211_5Mhz(), Configure80211a(), Configure80211b(), Configure80211g(), and GetTypeId().
|
pure virtual |
ssid | the current ssid of this MAC layer. |
Implemented in ns3::RegularWifiMac, and ns3::OcbWifiMac.
Referenced by GetTypeId().
phy | the physical layer attached to this MAC. |
Implemented in ns3::RegularWifiMac.
|
pure virtual |
stationManager | the station manager attached to this MAC. |
Implemented in ns3::RegularWifiMac, and ns3::ApWifiMac.
|
pure virtual |
The interface may or may not support sending from arbitrary address. This function returns true if sending from arbitrary address is supported, false otherwise.
Implemented in ns3::RegularWifiMac, ns3::ApWifiMac, and ns3::MeshWifiInterfaceMac.
|
private |
The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition).
This is a promiscuous trace.
Definition at line 427 of file wifi-mac.h.
Referenced by GetTypeId(), and NotifyPromiscRx().
|
private |
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during reception.
Definition at line 444 of file wifi-mac.h.
Referenced by GetTypeId(), and NotifyRxDrop().
|
private |
The trace source fired for packets successfully received by the device immediately before being forwarded up to higher layers (at the L2/L3 transition).
This is a non- promiscuous trace.
Definition at line 436 of file wifi-mac.h.
Referenced by GetTypeId(), and NotifyRx().
|
private |
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during transmission.
Definition at line 418 of file wifi-mac.h.
Referenced by GetTypeId(), and NotifyTxDrop().
|
private |
The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission.
Definition at line 410 of file wifi-mac.h.
Referenced by GetTypeId(), and NotifyTx().
|
private |
Definition at line 373 of file wifi-mac.h.
Referenced by GetMaxPropagationDelay(), GetTypeId(), and SetMaxPropagationDelay().