Basic MAC of mesh point Wi-Fi interface. Its function is extendable through plugins mechanism. More...
#include <mesh-wifi-interface-mac.h>
Classes | |
struct | Statistics |
Public Member Functions | |
MeshWifiInterfaceMac () | |
C-tor. | |
virtual | ~MeshWifiInterfaceMac () |
D-tor. | |
int64_t | AssignStreams (int64_t stream) |
bool | CheckSupportedRates (SupportedRates rates) const |
virtual void | FinishConfigureStandard (enum WifiPhyStandard standard) |
WifiPhyStandard | GetPhyStandard () const |
SupportedRates | GetSupportedRates () const |
void | Report (std::ostream &) const |
Statistics: | |
void | ResetStats () |
void | SendManagementFrame (Ptr< Packet > frame, const WifiMacHeader &hdr) |
To be used by plugins sending management frames. | |
void | SetBeaconGeneration (bool enable) |
Enable/disable beacons. | |
Inherited from WifiMac | |
virtual void | Enqueue (Ptr< const Packet > packet, Mac48Address to, Mac48Address from) |
virtual void | Enqueue (Ptr< const Packet > packet, Mac48Address to) |
virtual bool | SupportsSendFrom () const |
virtual void | SetLinkUpCallback (Callback< void > linkUp) |
Each mesh point interfaces must know the mesh point address | |
void | SetMeshPointAddress (Mac48Address) |
Mac48Address | GetMeshPointAddress () const |
Beacons | |
void | SetRandomStartDelay (Time interval) |
Set maximum initial random delay before first beacon. | |
void | SetBeaconInterval (Time interval) |
Set interval between two successive beacons. | |
Time | GetBeaconInterval () const |
Time | GetTbtt () const |
Next beacon frame time. | |
void | ShiftTbtt (Time shift) |
Shift TBTT. | |
Plugins | |
void | InstallPlugin (Ptr< MeshWifiInterfaceMacPlugin > plugin) |
Install plugin. TODO return unique ID to allow unregister plugins. | |
Channel switching | |
uint16_t | GetFrequencyChannel () const |
Current channel Id. | |
void | SwitchFrequencyChannel (uint16_t new_id) |
Switch channel. | |
Metric Calculation routines: | |
void | SetLinkMetricCallback (Callback< uint32_t, Mac48Address, Ptr< MeshWifiInterfaceMac > > cb) |
uint32_t | GetLinkMetric (Mac48Address peerAddress) |
![]() | |
RegularWifiMac () | |
virtual | ~RegularWifiMac () |
Time | GetAckTimeout (void) const |
virtual Mac48Address | GetAddress (void) const |
virtual Time | GetBasicBlockAckTimeout (void) const |
virtual Mac48Address | GetBssid (void) const |
virtual Time | GetCompressedBlockAckTimeout (void) const |
Time | GetCtsTimeout (void) const |
Time | GetEifsNoDifs (void) const |
Time | GetPifs (void) const |
Time | GetSifs (void) const |
Time | GetSlot (void) const |
virtual Ssid | GetSsid (void) const |
virtual Ptr< WifiPhy > | GetWifiPhy () const |
virtual Ptr < WifiRemoteStationManager > | GetWifiRemoteStationManager () const |
void | SetAckTimeout (Time ackTimeout) |
virtual void | SetAddress (Mac48Address address) |
virtual void | SetBasicBlockAckTimeout (Time blockAckTimeout) |
virtual void | SetBssid (Mac48Address bssid) |
virtual void | SetCompressedBlockAckTimeout (Time blockAckTimeout) |
void | SetCtsTimeout (Time ctsTimeout) |
void | SetEifsNoDifs (Time eifsNoDifs) |
virtual void | SetForwardUpCallback (ForwardUpCallback upCallback) |
virtual void | SetLinkDownCallback (Callback< void > linkDown) |
void | SetPifs (Time pifs) |
virtual void | SetPromisc (void) |
Sets the interface in promiscuous mode. | |
void | SetSifs (Time sifs) |
void | SetSlot (Time slotTime) |
virtual void | SetSsid (Ssid ssid) |
virtual void | SetWifiPhy (Ptr< WifiPhy > phy) |
virtual void | SetWifiRemoteStationManager (Ptr< WifiRemoteStationManager > stationManager) |
![]() | |
void | ConfigureStandard (enum WifiPhyStandard standard) |
Time | GetMaxPropagationDelay (void) const |
Time | GetMsduLifetime (void) const |
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 | SetForwardUpCallback (Callback< void, Ptr< Packet >, Mac48Address, Mac48Address > upCallback)=0 |
void | SetMaxPropagationDelay (Time delay) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
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 | Start (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
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 () |
Never forget to support typeid. |
Private Types | |
typedef std::vector< Ptr < MeshWifiInterfaceMacPlugin > > | PluginList |
Private Member Functions | |
virtual void | DoDispose () |
Real d-tor. | |
virtual void | DoStart () |
void | ForwardDown (Ptr< const Packet > packet, Mac48Address from, Mac48Address to) |
Send frame. Frame is supposed to be tagged by routing information. TODO: clarify this point. | |
bool | GetBeaconGeneration () const |
Get current beaconing status. | |
void | Receive (Ptr< Packet > packet, WifiMacHeader const *hdr) |
Frame receive handler. | |
void | ScheduleNextBeacon () |
Schedule next beacon. | |
void | SendBeacon () |
Send beacon. |
Private Attributes | |
EventId | m_beaconSendEvent |
"Timer" for the next beacon | |
Ptr< UniformRandomVariable > | m_coefficient |
Add randomness to beacon generation. | |
Callback< uint32_t, Mac48Address, Ptr < MeshWifiInterfaceMac > > | m_linkMetricCallback |
Mac48Address | m_mpAddress |
Mesh point address. | |
PluginList | m_plugins |
List of all installed plugins. | |
WifiPhyStandard | m_standard |
Current PHY standard: needed to configure metric. | |
Mesh timing intervals | |
bool | m_beaconEnable |
whether beaconing is enabled | |
Time | m_beaconInterval |
Beaconing interval. | |
Time | m_randomStart |
Maximum delay before first beacon. | |
Time | m_tbtt |
Time for the next frame. | |
Statistics: | |
Statistics | m_stats |
Basic MAC of mesh point Wi-Fi interface. Its function is extendable through plugins mechanism.
Now only three output queues are used:
Definition at line 54 of file mesh-wifi-interface-mac.h.
|
private |
Definition at line 162 of file mesh-wifi-interface-mac.h.
ns3::MeshWifiInterfaceMac::MeshWifiInterfaceMac | ( | ) |
C-tor.
Definition at line 76 of file mesh-wifi-interface-mac.cc.
References m_coefficient, ns3::MESH, NS_LOG_FUNCTION, and ns3::RegularWifiMac::SetTypeOfStation().
|
virtual |
int64_t ns3::MeshWifiInterfaceMac::AssignStreams | ( | int64_t | stream | ) |
Assign a fixed random variable stream number to the random variables used by this model. Return the number of streams (possibly zero) that have been assigned.
stream | first stream index to use |
Definition at line 149 of file mesh-wifi-interface-mac.cc.
References m_coefficient, m_plugins, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
Referenced by ns3::MeshHelper::AssignStreams().
bool ns3::MeshWifiInterfaceMac::CheckSupportedRates | ( | SupportedRates | rates | ) | const |
Definition at line 330 of file mesh-wifi-interface-mac.cc.
References ns3::WifiRemoteStationManager::GetBasicMode(), ns3::WifiMode::GetDataRate(), ns3::WifiRemoteStationManager::GetNBasicModes(), ns3::SupportedRates::IsSupportedRate(), and ns3::RegularWifiMac::m_stationManager.
Referenced by ns3::dot11s::PeerManagementProtocolMac::Receive().
|
privatevirtual |
Real d-tor.
Definition at line 121 of file mesh-wifi-interface-mac.cc.
References ns3::EventId::Cancel(), m_beaconSendEvent, m_plugins, and NS_LOG_FUNCTION.
|
privatevirtual |
Definition at line 130 of file mesh-wifi-interface-mac.cc.
References ns3::EventId::Cancel(), ns3::Time::GetSeconds(), ns3::UniformRandomVariable::GetValue(), ns3::EventId::IsRunning(), m_beaconEnable, m_beaconSendEvent, m_coefficient, m_randomStart, m_tbtt, ns3::Now(), NS_ASSERT, ns3::Simulator::Schedule(), ns3::Seconds(), SendBeacon(), and ns3::ObjectBase::SetAttribute().
|
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 channel access function determines that access is 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.
Reimplemented from ns3::RegularWifiMac.
Definition at line 93 of file mesh-wifi-interface-mac.cc.
References ForwardDown(), and NS_LOG_FUNCTION.
|
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 channel access function determines that access is granted to this MAC.
Implements ns3::RegularWifiMac.
Definition at line 99 of file mesh-wifi-interface-mac.cc.
References ForwardDown(), ns3::MacLow::GetAddress(), ns3::RegularWifiMac::m_low, and NS_LOG_FUNCTION.
|
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.
This method may be overriden by a derived class (e.g., in order to apply DCF or EDCA parameters specific to the usage model it is dealing with), in which case the reimplementation may choose to deal with certain values in the WifiPhyStandard enumeration, and chain up to this implementation to deal with the remainder.
Reimplemented from ns3::RegularWifiMac.
Definition at line 540 of file mesh-wifi-interface-mac.cc.
References ns3::RegularWifiMac::m_dca, m_standard, ns3::DcaTxop::SetAifsn(), ns3::DcaTxop::SetMaxCw(), and ns3::DcaTxop::SetMinCw().
|
private |
Send frame. Frame is supposed to be tagged by routing information. TODO: clarify this point.
Definition at line 216 of file mesh-wifi-interface-mac.cc.
References ns3::AC_BE, ns3::WifiRemoteStationManager::AddSupportedMode(), ns3::Packet::Copy(), ns3::WifiMacHeader::GetAddr1(), ns3::RegularWifiMac::GetAddress(), ns3::WifiPhy::GetMode(), ns3::WifiPhy::GetNModes(), ns3::Packet::GetSize(), ns3::QosTag::GetTid(), ns3::WifiRemoteStationManager::IsBrandNew(), ns3::RegularWifiMac::m_edca, ns3::RegularWifiMac::m_phy, m_plugins, ns3::RegularWifiMac::m_stationManager, m_stats, ns3::WifiMacHeader::NORMAL_ACK, NS_ASSERT, ns3::QosUtilsMapTidToAc(), ns3::WifiRemoteStationManager::RecordDisassociated(), ns3::Packet::RemovePacketTag(), ns3::MeshWifiInterfaceMac::Statistics::sentBytes, ns3::MeshWifiInterfaceMac::Statistics::sentFrames, ns3::WifiMacHeader::SetAddr1(), ns3::WifiMacHeader::SetAddr2(), ns3::WifiMacHeader::SetAddr3(), ns3::WifiMacHeader::SetAddr4(), ns3::WifiMacHeader::SetDsFrom(), ns3::WifiMacHeader::SetDsTo(), ns3::WifiMacHeader::SetQosAckPolicy(), ns3::WifiMacHeader::SetQosNoAmsdu(), ns3::WifiMacHeader::SetQosNoEosp(), ns3::WifiMacHeader::SetQosTid(), ns3::WifiMacHeader::SetQosTxopLimit(), ns3::WifiMacHeader::SetType(), ns3::WifiMacHeader::SetTypeData(), and ns3::WIFI_MAC_QOSDATA.
Referenced by Enqueue().
|
private |
Get current beaconing status.
Definition at line 369 of file mesh-wifi-interface-mac.cc.
References ns3::EventId::IsRunning(), and m_beaconSendEvent.
Referenced by GetTypeId().
Time ns3::MeshWifiInterfaceMac::GetBeaconInterval | ( | ) | const |
Definition at line 358 of file mesh-wifi-interface-mac.cc.
References m_beaconInterval.
Referenced by Report(), and ScheduleNextBeacon().
uint16_t ns3::MeshWifiInterfaceMac::GetFrequencyChannel | ( | ) | const |
Current channel Id.
Definition at line 176 of file mesh-wifi-interface-mac.cc.
References ns3::YansWifiPhy::GetChannelNumber(), ns3::Object::GetObject(), ns3::RegularWifiMac::m_phy, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::flame::FlameProtocolMac::GetChannelId(), ns3::dot11s::HwmpProtocolMac::GetChannelId(), and Report().
uint32_t ns3::MeshWifiInterfaceMac::GetLinkMetric | ( | Mac48Address | peerAddress | ) |
Definition at line 483 of file mesh-wifi-interface-mac.cc.
References ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), and m_linkMetricCallback.
Referenced by ns3::dot11s::PeerManagementProtocolMac::GetLinkMetric(), ns3::dot11s::HwmpProtocolMac::GetLinkMetric(), and ns3::dot11s::HwmpProtocolMac::ReceiveAction().
Mac48Address ns3::MeshWifiInterfaceMac::GetMeshPointAddress | ( | ) | const |
Definition at line 503 of file mesh-wifi-interface-mac.cc.
References m_mpAddress.
Referenced by SendBeacon().
WifiPhyStandard ns3::MeshWifiInterfaceMac::GetPhyStandard | ( | ) | const |
Definition at line 553 of file mesh-wifi-interface-mac.cc.
References m_standard.
SupportedRates ns3::MeshWifiInterfaceMac::GetSupportedRates | ( | ) | const |
Definition at line 311 of file mesh-wifi-interface-mac.cc.
References ns3::SupportedRates::AddSupportedRate(), ns3::WifiRemoteStationManager::GetBasicMode(), ns3::WifiMode::GetDataRate(), ns3::WifiPhy::GetMode(), ns3::WifiRemoteStationManager::GetNBasicModes(), ns3::WifiPhy::GetNModes(), ns3::RegularWifiMac::m_phy, ns3::RegularWifiMac::m_stationManager, and ns3::SupportedRates::SetBasicRate().
Referenced by SendBeacon(), and ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame().
Time ns3::MeshWifiInterfaceMac::GetTbtt | ( | ) | const |
Next beacon frame time.
This is supposed to be used by any entity managing beacon collision avoidance (e.g. Peer management protocol in 802.11s)
Definition at line 374 of file mesh-wifi-interface-mac.cc.
References m_tbtt.
Referenced by ShiftTbtt().
|
static |
Never forget to support typeid.
This method returns the TypeId associated to ns3::MeshWifiInterfaceMac.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
Attributes defined in parent class ns3::RegularWifiMac:
Attributes defined in parent class ns3::WifiMac:
No TraceSources defined for this type.
TraceSources defined in parent class ns3::RegularWifiMac:
TraceSources defined in parent class ns3::WifiMac:
Reimplemented from ns3::RegularWifiMac.
Definition at line 46 of file mesh-wifi-interface-mac.cc.
References GetBeaconGeneration(), m_beaconInterval, m_randomStart, ns3::Seconds(), SetBeaconGeneration(), and ns3::TypeId::SetParent().
void ns3::MeshWifiInterfaceMac::InstallPlugin | ( | Ptr< MeshWifiInterfaceMacPlugin > | plugin | ) |
Install plugin. TODO return unique ID to allow unregister plugins.
Definition at line 165 of file mesh-wifi-interface-mac.cc.
References m_plugins, NS_LOG_FUNCTION, and ns3::MeshWifiInterfaceMacPlugin::SetParent().
Referenced by ns3::dot11s::PeerManagementProtocol::Install(), ns3::dot11s::HwmpProtocol::Install(), and ns3::flame::FlameProtocol::Install().
|
private |
Frame receive handler.
Definition at line 417 of file mesh-wifi-interface-mac.cc.
References ns3::WifiRemoteStationManager::AddBasicMode(), ns3::Packet::AddPacketTag(), ns3::WifiRemoteStationManager::AddSupportedMode(), ns3::RegularWifiMac::ForwardUp(), ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetAddr2(), ns3::WifiMacHeader::GetAddr3(), ns3::WifiMacHeader::GetAddr4(), ns3::RegularWifiMac::GetAddress(), ns3::Mac48Address::GetBroadcast(), ns3::WifiMode::GetDataRate(), ns3::Time::GetMicroSeconds(), ns3::WifiPhy::GetMode(), ns3::WifiPhy::GetNModes(), ns3::WifiMacHeader::GetQosTid(), ns3::Packet::GetSize(), ns3::RegularWifiMac::GetSsid(), ns3::MgtProbeResponseHeader::GetSsid(), ns3::MgtProbeResponseHeader::GetSupportedRates(), ns3::SupportedRates::IsBasicRate(), ns3::WifiMacHeader::IsBeacon(), ns3::WifiMacHeader::IsData(), ns3::Ssid::IsEqual(), ns3::WifiMacHeader::IsQosData(), ns3::SupportedRates::IsSupportedRate(), ns3::RegularWifiMac::m_phy, m_plugins, ns3::RegularWifiMac::m_stationManager, m_stats, ns3::Now(), NS_LOG_DEBUG, ns3::Packet::PeekHeader(), ns3::MeshWifiInterfaceMac::Statistics::recvBeacons, ns3::MeshWifiInterfaceMac::Statistics::recvBytes, and ns3::MeshWifiInterfaceMac::Statistics::recvFrames.
void ns3::MeshWifiInterfaceMac::Report | ( | std::ostream & | os | ) | const |
Definition at line 524 of file mesh-wifi-interface-mac.cc.
References ns3::RegularWifiMac::GetAddress(), GetBeaconInterval(), GetFrequencyChannel(), ns3::Time::GetSeconds(), m_stats, and ns3::MeshWifiInterfaceMac::Statistics::Print().
Referenced by ns3::Dot11sStack::Report().
void ns3::MeshWifiInterfaceMac::ResetStats | ( | ) |
Definition at line 534 of file mesh-wifi-interface-mac.cc.
References m_stats.
Referenced by ns3::Dot11sStack::ResetStats().
|
private |
Schedule next beacon.
Definition at line 391 of file mesh-wifi-interface-mac.cc.
References GetBeaconInterval(), m_beaconSendEvent, m_tbtt, ns3::Simulator::Schedule(), and SendBeacon().
Referenced by SendBeacon().
|
private |
Send beacon.
Definition at line 397 of file mesh-wifi-interface-mac.cc.
References ns3::RegularWifiMac::GetAddress(), GetMeshPointAddress(), ns3::Time::GetMicroSeconds(), ns3::RegularWifiMac::GetSsid(), GetSupportedRates(), ns3::EventId::IsRunning(), m_beaconInterval, m_beaconSendEvent, ns3::RegularWifiMac::m_dca, m_plugins, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::DcaTxop::Queue(), and ScheduleNextBeacon().
Referenced by DoStart(), ScheduleNextBeacon(), and ShiftTbtt().
void ns3::MeshWifiInterfaceMac::SendManagementFrame | ( | Ptr< Packet > | frame, |
const WifiMacHeader & | hdr | ||
) |
To be used by plugins sending management frames.
Definition at line 275 of file mesh-wifi-interface-mac.cc.
References ns3::AC_BK, ns3::AC_VO, ns3::WifiMacHeader::GetAddr1(), ns3::Mac48Address::GetBroadcast(), ns3::Packet::GetSize(), ns3::RegularWifiMac::m_edca, m_plugins, m_stats, NS_FATAL_ERROR, ns3::MeshWifiInterfaceMac::Statistics::sentBytes, and ns3::MeshWifiInterfaceMac::Statistics::sentFrames.
Referenced by ns3::dot11s::HwmpProtocolMac::ForwardPerr(), ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame(), ns3::dot11s::HwmpProtocolMac::SendPrep(), and ns3::dot11s::HwmpProtocolMac::SendPreq().
void ns3::MeshWifiInterfaceMac::SetBeaconGeneration | ( | bool | enable | ) |
Enable/disable beacons.
Definition at line 363 of file mesh-wifi-interface-mac.cc.
References m_beaconEnable, and NS_LOG_FUNCTION.
Referenced by GetTypeId(), and ns3::flame::FlameProtocol::Install().
void ns3::MeshWifiInterfaceMac::SetBeaconInterval | ( | Time | interval | ) |
Set interval between two successive beacons.
Definition at line 352 of file mesh-wifi-interface-mac.cc.
References m_beaconInterval, and NS_LOG_FUNCTION.
void ns3::MeshWifiInterfaceMac::SetLinkMetricCallback | ( | Callback< uint32_t, Mac48Address, Ptr< MeshWifiInterfaceMac > > | cb | ) |
Definition at line 493 of file mesh-wifi-interface-mac.cc.
References m_linkMetricCallback.
Referenced by ns3::dot11s::HwmpProtocol::Install().
|
virtual |
linkUp | the callback to invoke when the link becomes up. |
Reimplemented from ns3::RegularWifiMac.
Definition at line 110 of file mesh-wifi-interface-mac.cc.
References NS_LOG_FUNCTION.
void ns3::MeshWifiInterfaceMac::SetMeshPointAddress | ( | Mac48Address | a | ) |
Definition at line 498 of file mesh-wifi-interface-mac.cc.
References m_mpAddress.
Referenced by ns3::MeshPointDevice::AddInterface().
void ns3::MeshWifiInterfaceMac::SetRandomStartDelay | ( | Time | interval | ) |
Set maximum initial random delay before first beacon.
Definition at line 346 of file mesh-wifi-interface-mac.cc.
References m_randomStart, and NS_LOG_FUNCTION.
void ns3::MeshWifiInterfaceMac::ShiftTbtt | ( | Time | shift | ) |
Shift TBTT.
This is supposed to be used by any entity managing beacon collision avoidance (e.g. Peer management protocol in 802.11s)
Definition at line 379 of file mesh-wifi-interface-mac.cc.
References ns3::Simulator::Cancel(), GetTbtt(), m_beaconSendEvent, m_tbtt, ns3::Simulator::Now(), NS_ASSERT, ns3::Simulator::Schedule(), and SendBeacon().
Referenced by ns3::dot11s::PeerManagementProtocolMac::SetBeaconShift().
|
virtual |
Reimplemented from ns3::RegularWifiMac.
Definition at line 105 of file mesh-wifi-interface-mac.cc.
void ns3::MeshWifiInterfaceMac::SwitchFrequencyChannel | ( | uint16_t | new_id | ) |
Switch channel.
Definition at line 192 of file mesh-wifi-interface-mac.cc.
References ns3::Object::GetObject(), ns3::RegularWifiMac::m_dcfManager, ns3::RegularWifiMac::m_phy, ns3::DcfManager::NotifyNavResetNow(), NS_ASSERT, NS_LOG_FUNCTION, ns3::Seconds(), and ns3::YansWifiPhy::SetChannelNumber().
|
private |
whether beaconing is enabled
Definition at line 169 of file mesh-wifi-interface-mac.h.
Referenced by DoStart(), and SetBeaconGeneration().
|
private |
Beaconing interval.
Definition at line 171 of file mesh-wifi-interface-mac.h.
Referenced by GetBeaconInterval(), GetTypeId(), SendBeacon(), and SetBeaconInterval().
|
private |
"Timer" for the next beacon
Definition at line 182 of file mesh-wifi-interface-mac.h.
Referenced by DoDispose(), DoStart(), GetBeaconGeneration(), ScheduleNextBeacon(), SendBeacon(), and ShiftTbtt().
|
private |
Add randomness to beacon generation.
Definition at line 205 of file mesh-wifi-interface-mac.h.
Referenced by AssignStreams(), DoStart(), and MeshWifiInterfaceMac().
|
private |
Definition at line 185 of file mesh-wifi-interface-mac.h.
Referenced by GetLinkMetric(), and SetLinkMetricCallback().
|
private |
Mesh point address.
Definition at line 179 of file mesh-wifi-interface-mac.h.
Referenced by GetMeshPointAddress(), and SetMeshPointAddress().
|
private |
List of all installed plugins.
Definition at line 184 of file mesh-wifi-interface-mac.h.
Referenced by AssignStreams(), DoDispose(), ForwardDown(), InstallPlugin(), Receive(), SendBeacon(), and SendManagementFrame().
|
private |
Maximum delay before first beacon.
Definition at line 173 of file mesh-wifi-interface-mac.h.
Referenced by DoStart(), GetTypeId(), and SetRandomStartDelay().
|
private |
Current PHY standard: needed to configure metric.
Definition at line 202 of file mesh-wifi-interface-mac.h.
Referenced by FinishConfigureStandard(), and GetPhyStandard().
|
private |
Definition at line 199 of file mesh-wifi-interface-mac.h.
Referenced by ForwardDown(), Receive(), Report(), ResetStats(), and SendManagementFrame().
|
private |
Time for the next frame.
Definition at line 175 of file mesh-wifi-interface-mac.h.
Referenced by DoStart(), GetTbtt(), ScheduleNextBeacon(), and ShiftTbtt().