ns-3
ns3::ApWifiMac Class Reference

Wi-Fi AP state machineHandle association, dis-association and authentication, of STAs within an infrastructure BSS. More...

#include <ap-wifi-mac.h>

Inheritance diagram for ns3::ApWifiMac:
Collaboration diagram for ns3::ApWifiMac:

List of all members.

Public Member Functions

virtual void SetWifiRemoteStationManager (Ptr< WifiRemoteStationManager > stationManager)
virtual void SetLinkUpCallback (Callback< void > linkUp)
virtual void Enqueue (Ptr< const Packet > packet, Mac48Address to)
virtual void Enqueue (Ptr< const Packet > packet, Mac48Address to, Mac48Address from)
virtual bool SupportsSendFrom (void) const
virtual void SetAddress (Mac48Address address)
void SetBeaconInterval (Time interval)
Time GetBeaconInterval (void) const
void StartBeaconing (void)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::ApWifiMac.

Detailed Description

Wi-Fi AP state machine

Handle association, dis-association and authentication, of STAs within an infrastructure BSS.


Member Function Documentation

void ns3::ApWifiMac::Enqueue ( Ptr< const Packet packet,
Mac48Address  to 
) [virtual]
Parameters:
packetthe packet to send.
tothe 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.

void ns3::ApWifiMac::Enqueue ( Ptr< const Packet packet,
Mac48Address  to,
Mac48Address  from 
) [virtual]
Parameters:
packetthe packet to send.
tothe address to which the packet should be sent.
fromthe 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.

References ns3::Mac48Address::IsBroadcast(), and NS_LOG_FUNCTION.

Returns:
the interval between two beacon transmissions.

Referenced by GetTypeId().

TypeId ns3::ApWifiMac::GetTypeId ( void  ) [static]

This method returns the TypeId associated to ns3::ApWifiMac.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::RegularWifiMac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiMac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::RegularWifiMac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiMac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiMac/$ns3::RegularWifiMac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::ApWifiMac
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Mac/$ns3::RegularWifiMac/$ns3::ApWifiMac

Attributes defined for this type:

  • BeaconInterval: Delay between two beacons
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +102400000.0ns
    • Flags: construct write read
  • BeaconGeneration: Whether or not beacons are generated.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read

Attributes defined in parent class ns3::RegularWifiMac:

Attributes defined in parent class ns3::WifiMac:

  • CtsTimeout: When this timeout expires, the RTS/CTS handshake has failed.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +75000.0ns
    • Flags: construct write read
  • AckTimeout: When this timeout expires, the DATA/ACK handshake has failed.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +75000.0ns
    • Flags: construct write read
  • BasicBlockAckTimeout: When this timeout expires, the BASIC_BLOCK_ACK_REQ/BASIC_BLOCK_ACK handshake has failed.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +281000.0ns
    • Flags: construct write read
  • CompressedBlockAckTimeout: When this timeout expires, the COMPRESSED_BLOCK_ACK_REQ/COMPRESSED_BLOCK_ACK handshake has failed.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +99000.0ns
    • Flags: construct write read
  • Sifs: The value of the SIFS constant.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +16000.0ns
    • Flags: construct write read
  • EifsNoDifs: The value of EIFS-DIFS
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +60000.0ns
    • Flags: construct write read
  • Slot: The duration of a Slot.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +9000.0ns
    • Flags: construct write read
  • Pifs: The value of the PIFS constant.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +25000.0ns
    • Flags: construct write read
  • MaxPropagationDelay: The maximum propagation delay. Unused for now.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +3333.0ns
    • Flags: construct write read
  • Ssid: The ssid we want to belong to.
    • Set with class: SsidValue
    • Underlying type: Ssid
    • Initial value: default
    • Flags: construct write read

No TraceSources defined for this type.
TraceSources defined in parent class ns3::RegularWifiMac:

  • TxOkHeader: The header of successfully transmitted packet
  • TxErrHeader: The header of unsuccessfully transmitted packet

TraceSources defined in parent class ns3::WifiMac:

  • MacTx: A packet has been received from higher layers and is being processed in preparation for queueing for transmission.
  • MacTxDrop: A packet has been dropped in the MAC layer before being queued for transmission.
  • MacPromiscRx: A packet has been received by this device, has been passed up from the physical layer and is being forwarded up the local protocol stack. This is a promiscuous trace,
  • MacRx: A packet has been received by this device, has been passed up from the physical layer and is being forwarded up the local protocol stack. This is a non-promiscuous trace,
  • MacRxDrop: A packet has been dropped in the MAC layer after it has been passed up from the physical layer.

Reimplemented from ns3::RegularWifiMac.

References GetBeaconInterval(), ns3::MicroSeconds(), SetBeaconInterval(), and ns3::TypeId::SetParent().

void ns3::ApWifiMac::SetAddress ( Mac48Address  address) [virtual]
Parameters:
addressthe current address of this MAC layer.

Reimplemented from ns3::RegularWifiMac.

References ns3::RegularWifiMac::SetBssid().

Parameters:
intervalthe interval between two beacon transmissions.

References ns3::Time::GetMicroSeconds(), NS_LOG_FUNCTION, and NS_LOG_WARN.

Referenced by GetTypeId().

void ns3::ApWifiMac::SetLinkUpCallback ( Callback< void >  linkUp) [virtual]
Parameters:
linkUpthe callback to invoke when the link becomes up.

Reimplemented from ns3::RegularWifiMac.

References NS_LOG_FUNCTION.

Parameters:
stationManagerthe station manager attached to this MAC.

Reimplemented from ns3::RegularWifiMac.

References NS_LOG_FUNCTION.

Start beacon transmission immediately.

References NS_LOG_FUNCTION.


The documentation for this class was generated from the following files: