A Discrete-Event Network Simulator
API
ns3::BaseStationNetDevice Class Reference

BaseStation NetDevice. More...

#include "bs-net-device.h"

+ Inheritance diagram for ns3::BaseStationNetDevice:
+ Collaboration diagram for ns3::BaseStationNetDevice:

Public Types

enum  MacPreamble { SHORT_PREAMBLE = 1 , LONG_PREAMBLE }
 MacPreamble enumeration. More...
 
enum  State { BS_STATE_DL_SUB_FRAME , BS_STATE_UL_SUB_FRAME , BS_STATE_TTG , BS_STATE_RTG }
 State enumeration. More...
 
- Public Types inherited from ns3::WimaxNetDevice
enum  Direction { DIRECTION_DOWNLINK , DIRECTION_UPLINK }
 Direction enumeration. More...
 
enum  RangingStatus { RANGING_STATUS_EXPIRED , RANGING_STATUS_CONTINUE , RANGING_STATUS_ABORT , RANGING_STATUS_SUCCESS }
 RangingStatus enumeration. More...
 
typedef void(* TxRxTracedCallback) (Ptr< const Packet > packet, const Mac48Address &mac)
 TracedCallback signature for packet and Mac48Address. More...
 
- Public Types inherited from ns3::NetDevice
typedef void(* LinkChangeTracedCallback) (void)
 TracedCallback signature for link changed event. More...
 
enum  PacketType {
  PACKET_HOST = 1 , NS3_PACKET_HOST = PACKET_HOST , PACKET_BROADCAST , NS3_PACKET_BROADCAST = PACKET_BROADCAST ,
  PACKET_MULTICAST , NS3_PACKET_MULTICAST = PACKET_MULTICAST , PACKET_OTHERHOST , NS3_PACKET_OTHERHOST = PACKET_OTHERHOST
}
 Packet types are used as they are in Linux. More...
 
typedef Callback< bool, Ptr< NetDevice >, Ptr< const Packet >, uint16_t, const Address &, const Address &, enum PacketTypePromiscReceiveCallback
 
typedef Callback< bool, Ptr< NetDevice >, Ptr< const Packet >, uint16_t, const Address & > ReceiveCallback
 

Public Member Functions

 BaseStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy)
 Constructor. More...
 
 BaseStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy, Ptr< UplinkScheduler > uplinkScheduler, Ptr< BSScheduler > bsScheduler)
 Constructor. More...
 
 BaseStationNetDevice (void)
 
 ~BaseStationNetDevice (void)
 
bool Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection)
 Enqueue a packet into a connection queue. More...
 
Ptr< IpcsClassifierGetBsClassifier (void) const
 
Ptr< BSSchedulerGetBSScheduler (void) const
 
uint8_t GetBwReqOppSize (void) const
 
Ptr< WimaxConnectionGetConnection (Cid cid)
 
Time GetDcdInterval (void) const
 
Time GetDlSubframeStartTime (void) const
 
Time GetInitialRangingInterval (void) const
 
Time GetIntervalT8 (void) const
 
Ptr< BSLinkManagerGetLinkManager (void) const
 
uint8_t GetMaxInvitedRangRetries (void) const
 
uint8_t GetMaxRangingCorrectionRetries (void) const
 
uint32_t GetNrDcdSent (void) const
 
uint32_t GetNrDlSymbols (void) const
 
uint32_t GetNrUcdSent (void) const
 
uint32_t GetNrUlSymbols (void) const
 
Time GetPsDuration (void) const
 
uint8_t GetRangingOppNumber (void) const
 
uint8_t GetRangReqOppSize (void) const
 
Ptr< BsServiceFlowManagerGetServiceFlowManager (void) const
 
Ptr< SSManagerGetSSManager (void) const
 
Time GetSymbolDuration (void) const
 
Time GetUcdInterval (void) const
 
Time GetUlSubframeStartTime (void) const
 
Ptr< UplinkSchedulerGetUplinkScheduler (void) const
 
void InitBaseStationNetDevice (void)
 initializes the BS net device and sets its parameters to the default values More...
 
void MarkRangingOppStart (Time rangingOppStartTime)
 Mark ranging opp start. More...
 
void MarkUplinkAllocations (void)
 Mark uplink allocations. More...
 
void SetBsClassifier (Ptr< IpcsClassifier > classifier)
 
void SetBSScheduler (Ptr< BSScheduler > bsSchedule)
 
void SetBwReqOppSize (uint8_t bwReqOppSize)
 
void SetDcdInterval (Time dcdInterval)
 
void SetInitialRangingInterval (Time initialRangInterval)
 
void SetIntervalT8 (Time interval)
 
void SetLinkManager (Ptr< BSLinkManager > linkManager)
 
void SetMaxInvitedRangRetries (uint8_t maxInvitedRangRetries)
 
void SetMaxRangingCorrectionRetries (uint8_t maxRangCorrectionRetries)
 
void SetNrDlSymbols (uint32_t dlSymbols)
 
void SetNrUlSymbols (uint32_t ulSymbols)
 
void SetRangReqOppSize (uint8_t rangReqOppSize)
 
void SetServiceFlowManager (Ptr< BsServiceFlowManager > sfm)
 Set service flow manager. More...
 
void SetSSManager (Ptr< SSManager > ssManager)
 
void SetUcdInterval (Time ucdInterval)
 
void SetUplinkScheduler (Ptr< UplinkScheduler > ulScheduler)
 
void Start (void)
 Start device. More...
 
void Stop (void)
 Stop device. More...
 
- Public Member Functions inherited from ns3::WimaxNetDevice
 WimaxNetDevice (void)
 
virtual ~WimaxNetDevice (void)
 
virtual void AddLinkChangeCallback (Callback< void > callback)
 Add link change callback function. More...
 
void Attach (Ptr< WimaxChannel > channel)
 Attach device to channel. More...
 
void CreateDefaultConnections (void)
 Creates the initial ranging and broadcast connections. More...
 
void ForwardDown (Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType)
 Forward a packet down the stack. More...
 
void ForwardUp (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest)
 Forward a packet to the next layer above the device. More...
 
virtual Address GetAddress (void) const
 Get address of the device. More...
 
Ptr< BandwidthManagerGetBandwidthManager (void) const
 Get the bandwidth manager on the device. More...
 
virtual Address GetBroadcast (void) const
 Get broadcast address. More...
 
Ptr< WimaxConnectionGetBroadcastConnection (void) const
 Get the broadcast connection. More...
 
Ptr< BurstProfileManagerGetBurstProfileManager (void) const
 Get the burst profile manager. More...
 
uint64_t GetChannel (uint8_t index) const
 Get the channel object by index. More...
 
virtual Ptr< ChannelGetChannel (void) const
 Get the channel. More...
 
Ptr< ConnectionManagerGetConnectionManager (void) const
 Get the connection manager of the device. More...
 
Dcd GetCurrentDcd (void) const
 Get the current DCD. More...
 
Ucd GetCurrentUcd (void) const
 Get the current UCD. More...
 
virtual uint32_t GetIfIndex (void) const
 Get interface index. More...
 
Ptr< WimaxConnectionGetInitialRangingConnection (void) const
 Get the initial ranging connection. More...
 
Mac48Address GetMacAddress (void) const
 Get the MAC address. More...
 
virtual uint16_t GetMtu (void) const
 Get MTU of the device. More...
 
virtual Address GetMulticast (Ipv4Address multicastGroup) const
 Make and return a MAC multicast address using the provided multicast group. More...
 
virtual Address GetMulticast (Ipv6Address addr) const
 Get the MAC multicast address corresponding to the IPv6 address provided. More...
 
virtual Address GetMulticast (void) const
 Get multicast address. More...
 
virtual std::string GetName (void) const
 Get device name. More...
 
virtual Ptr< NodeGetNode (void) const
 Get node pointer. More...
 
uint32_t GetNrFrames (void) const
 Get the number of frames. More...
 
Ptr< WimaxPhyGetPhy (void) const
 Get the physical layer object. More...
 
virtual Ptr< ChannelGetPhyChannel (void) const
 Get the channel (this method is redundant with GetChannel()) More...
 
NetDevice::PromiscReceiveCallback GetPromiscReceiveCallback (void)
 Get promiscious receive callback function. More...
 
uint16_t GetRtg (void) const
 Get receive/transmit transition gap. More...
 
uint8_t GetState (void) const
 Get the device state. More...
 
uint16_t GetTtg (void) const
 Get transmission/receive transition gap. More...
 
virtual bool IsBridge (void) const
 Return true if the net device is acting as a bridge. More...
 
virtual bool IsBroadcast (void) const
 Check if broadcast enabled. More...
 
virtual bool IsLinkUp (void) const
 Check if link is up. More...
 
virtual bool IsMulticast (void) const
 Check if multicast enabled. More...
 
virtual bool IsPointToPoint (void) const
 Check if device is a point-to-point device. More...
 
bool IsPromisc (void)
 Check if device is promiscious. More...
 
virtual Address MakeMulticastAddress (Ipv4Address multicastGroup) const
 Make multicast address. More...
 
virtual bool NeedsArp (void) const
 Check if device needs ARP. More...
 
void NotifyPromiscTrace (Ptr< Packet > p)
 Notify promiscious trace of a packet arrival. More...
 
virtual bool Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
 Send function. More...
 
virtual bool SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
 Send a packet. More...
 
virtual void SetAddress (Address address)
 Set address of the device. More...
 
void SetBandwidthManager (Ptr< BandwidthManager > bandwidthManager)
 Set the bandwidth manager on the device. More...
 
void SetBurstProfileManager (Ptr< BurstProfileManager > burstProfileManager)
 Set the burst profile manager. More...
 
void SetChannel (Ptr< WimaxChannel > wimaxChannel)
 Set the channel object. More...
 
virtual void SetConnectionManager (Ptr< ConnectionManager > connectionManager)
 Set the connection manager of the device. More...
 
void SetCurrentDcd (Dcd dcd)
 Set the current DCD. More...
 
void SetCurrentUcd (Ucd ucd)
 Set the current UCD. More...
 
virtual void SetIfIndex (const uint32_t index)
 Set interface index. More...
 
virtual void SetLinkChangeCallback (Callback< void > callback)
 Set link change callback function. More...
 
void SetMacAddress (Mac48Address address)
 Set the MAC address. More...
 
virtual bool SetMtu (const uint16_t mtu)
 Set MTU value for the device. More...
 
virtual void SetName (const std::string name)
 Set device name. More...
 
virtual void SetNode (Ptr< Node > node)
 Set node pointer. More...
 
void SetNrFrames (uint32_t nrFrames)
 Set the number of frames. More...
 
void SetPhy (Ptr< WimaxPhy > phy)
 Set the physical layer object. More...
 
virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb)
 Set promiscious receive callback function. More...
 
virtual void SetReceiveCallback (NetDevice::ReceiveCallback cb)
 Set receive callback function. More...
 
void SetReceiveCallback (void)
 Set receive callback function. More...
 
void SetRtg (uint16_t rtg)
 Set receive/transmit transition gap. More...
 
void SetState (uint8_t state)
 Set the device state. More...
 
void SetTtg (uint16_t ttg)
 Set transmission/receive transition gap. More...
 
virtual bool SupportsSendFrom (void) const
 Check if device supports the SendFrom method. More...
 
- Public Member Functions inherited from ns3::NetDevice
virtual ~NetDevice ()
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o[[maybe_unused]])
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= ([[maybe_unused]] const SimpleRefCount &o)
 Assignment operator. 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
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::WimaxNetDevice
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::NetDevice
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

Ptr< PacketCreateDcd (void)
 Create DCD. More...
 
void CreateDescriptorMessages (bool sendDcd, bool sendUcd)
 creates the channel descriptor MAC management messages DCD and UCD More...
 
Ptr< PacketCreateDlMap (void)
 Create DL map. More...
 
void CreateMapMessages (void)
 creates the MAC management messages DL-MAP and UL-MAP More...
 
Ptr< PacketCreateUcd (void)
 Create UCD. More...
 
Ptr< PacketCreateUlMap (void)
 Create UL map. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
void DoReceive (Ptr< Packet > packet)
 Receive packet. More...
 
bool DoSend (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest, uint16_t protocolNumber)
 Send packet. More...
 
void EndDlSubFrame (void)
 End DL subframe function. More...
 
void EndFrame (void)
 End frame function. More...
 
void EndUlSubFrame (void)
 End UL subframe function. More...
 
void MarkUplinkAllocationEnd (Time allocationEndTime, Cid cid, uint8_t uiuc)
 Mark uplink allocation end. More...
 
void MarkUplinkAllocationStart (Time allocationStartTime)
 Mark uplink allocation start. More...
 
void RangingOppStart (void)
 Ranging opp start. More...
 
void SendBursts (void)
 Send burst function. More...
 
void SetDlBurstProfiles (Dcd *dcd)
 Send DL burst profiles. More...
 
void SetUlBurstProfiles (Ucd *ucd)
 Send UL burst profiles. More...
 
void StartDlSubFrame (void)
 Start DL subframe function. More...
 
void StartFrame (void)
 Start frame function. More...
 
void StartUlSubFrame (void)
 Start UL subframe function. More...
 
void UplinkAllocationEnd (Cid cid, uint8_t uiuc)
 Uplink allocation end. More...
 
void UplinkAllocationStart (void)
 Uplink allocation start. More...
 

Private Attributes

uint32_t m_allocationStartTime
 allocation start time More...
 
Ptr< IpcsClassifierm_bsClassifier
 the base station classifier More...
 
TracedCallback< Ptr< const Packet > > m_bsPromiscRxTrace
 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_bsRxDropTrace
 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_bsRxTrace
 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_bsTxDropTrace
 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_bsTxTrace
 The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission. More...
 
uint8_t m_bwReqOppSize
 in symbols More...
 
CidFactorym_cidFactory
 the CID factory More...
 
uint32_t m_dcdConfigChangeCount
 DCD config change count. More...
 
Time m_dcdInterval
 in seconds More...
 
Time m_dlSubframeStartTime
 DL subframe start time. More...
 
uint32_t m_framesSinceLastDcd
 frames since last DCD More...
 
uint32_t m_framesSinceLastUcd
 frames since last UCD More...
 
Time m_initialRangInterval
 in seconds More...
 
Time m_intervalT8
 in milliseconds, wait for DSA/DSC Acknowledge timeout More...
 
Ptr< BSLinkManagerm_linkManager
 the link manager More...
 
uint8_t m_maxInvitedRangRetries
 maximum invited range retries More...
 
uint8_t m_maxRangCorrectionRetries
 maximum range correction retries More...
 
uint32_t m_nrDcdSent
 number DCD sent More...
 
uint16_t m_nrDlAllocations
 number DL allocations More...
 
uint32_t m_nrDlFrames
 number DL frames More...
 
uint32_t m_nrDlMapSent
 number DL map sent More...
 
uint32_t m_nrDlSymbols
 number of DL symbols More...
 
uint16_t m_nrSsRegistered
 number SS registered More...
 
uint32_t m_nrUcdSent
 number UCD sent More...
 
uint16_t m_nrUlAllocations
 number UL allocations More...
 
uint32_t m_nrUlFrames
 number UL frames More...
 
uint32_t m_nrUlMapSent
 number UL map sent More...
 
uint32_t m_nrUlSymbols
 number of UL symbols More...
 
Time m_psDuration
 ps duration More...
 
uint8_t m_rangingOppNumber
 current ranging TO number More...
 
uint8_t m_rangReqOppSize
 in symbols More...
 
Ptr< BSSchedulerm_scheduler
 the base station scheduler More...
 
Ptr< BsServiceFlowManagerm_serviceFlowManager
 the service flow manager More...
 
Ptr< SSManagerm_ssManager
 the SS manager More...
 
Time m_symbolDuration
 symbol duration More...
 
TracedCallback< Ptr< const Packet >, Mac48Address, Cidm_traceBSRx
 the base station receive trace callback More...
 
uint32_t m_ucdConfigChangeCount
 UCD config change count. More...
 
Time m_ucdInterval
 in seconds More...
 
uint8_t m_ulAllocationNumber
 to see UL burst number More...
 
Time m_ulSubframeStartTime
 UL subframe start time. More...
 
Ptr< UplinkSchedulerm_uplinkScheduler
 the uplink scheduler More...
 

Additional Inherited Members

- Public Attributes inherited from ns3::WimaxNetDevice
TracedCallback< Ptr< const Packet >, const Mac48Address & > m_traceRx
 
TracedCallback< Ptr< const Packet >, const Mac48Address & > m_traceTx
 
- Static Public Attributes inherited from ns3::WimaxNetDevice
static uint8_t m_direction = ~0
 downlink or uplink More...
 
static Time m_frameStartTime = Seconds (0)
 temp, to determine the frame start time at SS side, shall actually be determined by frame start preamble More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

BaseStation NetDevice.

Config Paths

ns3::BaseStationNetDevice is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice"

Attributes

  • BSScheduler: Downlink Scheduler for BS
  • InitialRangInterval: Time between Initial Ranging regions assigned by the BS. Maximum is 2s
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +5e+07ns
    • Flags: construct write read
  • DcdInterval: Time between transmission of DCD messages. Maximum value is 10s.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +3e+09ns
    • Flags: construct write read
  • UcdInterval: Time between transmission of UCD messages. Maximum value is 10s.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +3e+09ns
    • Flags: construct write read
  • IntervalT8: Wait for DSA/DSC Acknowledge timeout. Maximum 300ms.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +5e+07ns
    • Flags: construct write read
  • RangReqOppSize: The ranging opportunity size in symbols
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 1:256
    • Initial value: 8
    • Flags: construct write read
  • BwReqOppSize: The bandwidth request opportunity size in symbols
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 1:256
    • Initial value: 2
    • Flags: construct write read
  • MaxRangCorrectionRetries: Number of retries on contention Ranging Requests
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 1:16
    • Initial value: 16
    • Flags: construct write read
  • SSManager: The ss manager attached to this device.
  • Scheduler: The BS scheduler attached to this device.
  • LinkManager: The link manager attached to this device.
  • UplinkScheduler: The uplink scheduler attached to this device.
  • BsIpcsPacketClassifier: The uplink IP packet classifier attached to this device.
  • ServiceFlowManager: The service flow manager attached to this device.

Attributes defined in parent class ns3::WimaxNetDevice

TraceSources

  • BSTx: A packet has been received from higher layers and is being processed in preparation for queueing for transmission.
    Callback signature: ns3::Packet::TracedCallback
  • BSTxDrop: A packet has been dropped in the MAC layer before being queued for transmission.
    Callback signature: ns3::Packet::TracedCallback
  • BSPromiscRx: 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,
    Callback signature: ns3::Packet::TracedCallback
  • BSRx: 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,
    Callback signature: ns3::Packet::TracedCallback
  • BSRxDrop: A packet has been dropped in the MAC layer after it has been passed up from the physical layer.
    Callback signature: ns3::Packet::TracedCallback

TraceSources defined in parent class ns3::WimaxNetDevice

Size of this type is 760 bytes (on a 64-bit architecture).

Definition at line 52 of file bs-net-device.h.

Member Enumeration Documentation

◆ MacPreamble

MacPreamble enumeration.

Enumerator
SHORT_PREAMBLE 
LONG_PREAMBLE 

Definition at line 65 of file bs-net-device.h.

◆ State

State enumeration.

Enumerator
BS_STATE_DL_SUB_FRAME 
BS_STATE_UL_SUB_FRAME 
BS_STATE_TTG 
BS_STATE_RTG 

Definition at line 56 of file bs-net-device.h.

Constructor & Destructor Documentation

◆ BaseStationNetDevice() [1/3]

ns3::BaseStationNetDevice::BaseStationNetDevice ( void  )

Definition at line 190 of file bs-net-device.cc.

References InitBaseStationNetDevice().

+ Here is the call graph for this function:

◆ BaseStationNetDevice() [2/3]

ns3::BaseStationNetDevice::BaseStationNetDevice ( Ptr< Node node,
Ptr< WimaxPhy phy 
)

Constructor.

Parameters
nodethe node
phythe wimax phy

Definition at line 237 of file bs-net-device.cc.

References InitBaseStationNetDevice(), ns3::WimaxNetDevice::SetNode(), and ns3::WimaxNetDevice::SetPhy().

+ Here is the call graph for this function:

◆ BaseStationNetDevice() [3/3]

ns3::BaseStationNetDevice::BaseStationNetDevice ( Ptr< Node node,
Ptr< WimaxPhy phy,
Ptr< UplinkScheduler uplinkScheduler,
Ptr< BSScheduler bsScheduler 
)

Constructor.

Parameters
nodethe node
phythe wimax phy
uplinkScheduleruplink scheduler
bsSchedulerbs scheduler

Definition at line 244 of file bs-net-device.cc.

References InitBaseStationNetDevice(), m_scheduler, m_uplinkScheduler, ns3::WimaxNetDevice::SetNode(), and ns3::WimaxNetDevice::SetPhy().

+ Here is the call graph for this function:

◆ ~BaseStationNetDevice()

ns3::BaseStationNetDevice::~BaseStationNetDevice ( void  )

Definition at line 256 of file bs-net-device.cc.

Member Function Documentation

◆ CreateDcd()

◆ CreateDescriptorMessages()

void ns3::BaseStationNetDevice::CreateDescriptorMessages ( bool  sendDcd,
bool  sendUcd 
)
private

creates the channel descriptor MAC management messages DCD and UCD

Parameters
sendDcdtrue if send DCD
sendUcdtrue if send UCD

Definition at line 925 of file bs-net-device.cc.

References CreateDcd(), CreateUcd(), Enqueue(), ns3::WimaxNetDevice::GetBroadcastConnection(), m_framesSinceLastDcd, m_framesSinceLastUcd, m_nrDcdSent, and m_nrUcdSent.

Referenced by CreateMapMessages().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateDlMap()

◆ CreateMapMessages()

void ns3::BaseStationNetDevice::CreateMapMessages ( void  )
private

creates the MAC management messages DL-MAP and UL-MAP

Definition at line 881 of file bs-net-device.cc.

References CreateDescriptorMessages(), CreateDlMap(), CreateUlMap(), Enqueue(), ns3::WimaxNetDevice::GetBroadcastConnection(), m_dcdConfigChangeCount, m_nrDlMapSent, m_nrSsRegistered, m_nrUlMapSent, m_ssManager, m_ucdConfigChangeCount, and m_uplinkScheduler.

Referenced by StartDlSubFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateUcd()

◆ CreateUlMap()

Ptr< Packet > ns3::BaseStationNetDevice::CreateUlMap ( void  )
private

Create UL map.

Returns
packet

Definition at line 1064 of file bs-net-device.cc.

References ns3::Packet::AddHeader(), ns3::UlMap::AddUlMapElement(), m_nrUlAllocations, m_rangingOppNumber, m_ucdConfigChangeCount, m_ulAllocationNumber, m_uplinkScheduler, ns3::ManagementMessageType::MESSAGE_TYPE_UL_MAP, ns3::UlMap::SetAllocationStartTime(), and ns3::UlMap::SetUcdCount().

Referenced by CreateMapMessages().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoDispose()

void ns3::BaseStationNetDevice::DoDispose ( void  )
privatevirtual

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Reimplemented from ns3::WimaxNetDevice.

Definition at line 261 of file bs-net-device.cc.

References ns3::WimaxNetDevice::DoDispose(), m_bsClassifier, m_cidFactory, m_linkManager, m_scheduler, m_serviceFlowManager, m_ssManager, and m_uplinkScheduler.

+ Here is the call graph for this function:

◆ DoReceive()

void ns3::BaseStationNetDevice::DoReceive ( Ptr< Packet packet)
privatevirtual

Receive packet.

Parameters
packetto send

Implements ns3::WimaxNetDevice.

Definition at line 676 of file bs-net-device.cc.

References ns3::Packet::AddAtEnd(), ns3::Packet::AddHeader(), ns3::Simulator::Cancel(), ns3::GenericMacHeader::check_hcs(), ns3::BandwidthRequestHeader::check_hcs(), ns3::Packet::Copy(), ns3::WimaxNetDevice::ForwardUp(), ns3::WimaxNetDevice::GetBandwidthManager(), ns3::GenericMacHeader::GetCid(), ns3::BandwidthRequestHeader::GetCid(), GetConnection(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::FragmentationSubheader::GetFc(), ns3::GenericMacHeader::GetHt(), ns3::BandwidthRequestHeader::GetHt(), GetServiceFlowManager(), ns3::Packet::GetSize(), ns3::ManagementMessageType::GetType(), ns3::GenericMacHeader::GetType(), ns3::MacHeaderType::HEADER_TYPE_BANDWIDTH, ns3::MacHeaderType::HEADER_TYPE_GENERIC, ns3::CidFactory::IsBasic(), ns3::Cid::IsBroadcast(), ns3::Cid::IsInitialRanging(), ns3::CidFactory::IsPrimary(), list, m_bsRxDropTrace, m_bsRxTrace, m_cidFactory, m_linkManager, m_ssManager, m_traceBSRx, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_ACK, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_DSA_RSP, ns3::ManagementMessageType::MESSAGE_TYPE_REG_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_REG_RSP, ns3::ManagementMessageType::MESSAGE_TYPE_RNG_REQ, ns3::ManagementMessageType::MESSAGE_TYPE_RNG_RSP, NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_INFO, and ns3::Packet::RemoveHeader().

+ Here is the call graph for this function:

◆ DoSend()

bool ns3::BaseStationNetDevice::DoSend ( Ptr< Packet packet,
const Mac48Address source,
const Mac48Address dest,
uint16_t  protocolNumber 
)
privatevirtual

Send packet.

Parameters
packetto send
sourceMAC address
destdestination MAC address
protocolNumberprotocol number
Returns
true if successful

Implements ns3::WimaxNetDevice.

Definition at line 610 of file bs-net-device.cc.

References Enqueue(), ns3::ServiceFlow::GetConnection(), ns3::ServiceFlow::GetIsEnabled(), GetServiceFlowManager(), ns3::Packet::GetSize(), m_bsClassifier, m_bsTxDropTrace, m_bsTxTrace, NS_LOG_INFO, ns3::ServiceFlow::SF_DIRECTION_DOWN, and ns3::ServiceFlow::SF_TYPE_ALL.

+ Here is the call graph for this function:

◆ EndDlSubFrame()

void ns3::BaseStationNetDevice::EndDlSubFrame ( void  )
private

End DL subframe function.

Definition at line 573 of file bs-net-device.cc.

References BS_STATE_TTG, ns3::Time::GetSeconds(), ns3::WimaxNetDevice::GetTtg(), m_nrDlFrames, m_psDuration, ns3::Simulator::Schedule(), ns3::Seconds(), ns3::WimaxNetDevice::SetState(), and StartUlSubFrame().

Referenced by StartDlSubFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndFrame()

void ns3::BaseStationNetDevice::EndFrame ( void  )
private

End frame function.

Definition at line 604 of file bs-net-device.cc.

References StartFrame().

Referenced by EndUlSubFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndUlSubFrame()

void ns3::BaseStationNetDevice::EndUlSubFrame ( void  )
private

End UL subframe function.

Definition at line 596 of file bs-net-device.cc.

References BS_STATE_RTG, EndFrame(), ns3::WimaxNetDevice::GetRtg(), ns3::Time::GetSeconds(), m_nrUlFrames, m_psDuration, ns3::Simulator::Schedule(), ns3::Seconds(), and ns3::WimaxNetDevice::SetState().

Referenced by StartUlSubFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Enqueue()

bool ns3::BaseStationNetDevice::Enqueue ( Ptr< Packet packet,
const MacHeaderType hdrType,
Ptr< WimaxConnection connection 
)
virtual

Enqueue a packet into a connection queue.

Parameters
packetthe packet to be enqueued
hdrTypethe mac header type to be appended to the packet
connectionthe connection to be used
Returns
true if successful

Implements ns3::WimaxNetDevice.

Definition at line 662 of file bs-net-device.cc.

References ns3::GenericMacHeader::GetSerializedSize(), ns3::Packet::GetSize(), NS_ASSERT_MSG, ns3::GenericMacHeader::SetCid(), and ns3::GenericMacHeader::SetLen().

Referenced by CreateDescriptorMessages(), CreateMapMessages(), and DoSend().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetBsClassifier()

Ptr< IpcsClassifier > ns3::BaseStationNetDevice::GetBsClassifier ( void  ) const
Returns
a pointer to the classifier installed on the BS

Definition at line 285 of file bs-net-device.cc.

References m_bsClassifier.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetBSScheduler()

Ptr< BSScheduler > ns3::BaseStationNetDevice::GetBSScheduler ( void  ) const
Returns
The BS scheduler installed on the BS

Definition at line 494 of file bs-net-device.cc.

References m_scheduler.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetBwReqOppSize()

uint8_t ns3::BaseStationNetDevice::GetBwReqOppSize ( void  ) const
Returns
The bandwidth request opportunity size in symbols

Definition at line 381 of file bs-net-device.cc.

References m_bwReqOppSize.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetConnection()

Ptr< WimaxConnection > ns3::BaseStationNetDevice::GetConnection ( Cid  cid)
Parameters
cidconnection ID
Returns
a pointer to the connection

Definition at line 1150 of file bs-net-device.cc.

References ns3::WimaxNetDevice::GetBroadcastConnection(), ns3::WimaxNetDevice::GetConnectionManager(), ns3::WimaxNetDevice::GetInitialRangingConnection(), ns3::Cid::IsBroadcast(), ns3::Cid::IsInitialRanging(), and NS_ASSERT_MSG.

Referenced by DoReceive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDcdInterval()

Time ns3::BaseStationNetDevice::GetDcdInterval ( void  ) const
Returns
the Time between transmission of DCD messages

Definition at line 309 of file bs-net-device.cc.

References m_dcdInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetDlSubframeStartTime()

Time ns3::BaseStationNetDevice::GetDlSubframeStartTime ( void  ) const
Returns
the DL subframe start time

Definition at line 423 of file bs-net-device.cc.

References m_dlSubframeStartTime.

◆ GetInitialRangingInterval()

Time ns3::BaseStationNetDevice::GetInitialRangingInterval ( void  ) const
Returns
Time between initial ranging regions assigned by the BS

Definition at line 297 of file bs-net-device.cc.

References m_initialRangInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetIntervalT8()

Time ns3::BaseStationNetDevice::GetIntervalT8 ( void  ) const
Returns
the Wait for DSA/DSC Acknowledge timeout

Definition at line 333 of file bs-net-device.cc.

References m_intervalT8.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetLinkManager()

Ptr< BSLinkManager > ns3::BaseStationNetDevice::GetLinkManager ( void  ) const
Returns
a pointer to the link manager installed on the BS

Definition at line 477 of file bs-net-device.cc.

References m_linkManager.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetMaxInvitedRangRetries()

uint8_t ns3::BaseStationNetDevice::GetMaxInvitedRangRetries ( void  ) const
Returns
the number of retries on contention Ranging

Definition at line 357 of file bs-net-device.cc.

References m_maxInvitedRangRetries.

◆ GetMaxRangingCorrectionRetries()

uint8_t ns3::BaseStationNetDevice::GetMaxRangingCorrectionRetries ( void  ) const
Returns
the number of retries on contention Ranging Requests

Definition at line 345 of file bs-net-device.cc.

References m_maxRangCorrectionRetries.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetNrDcdSent()

uint32_t ns3::BaseStationNetDevice::GetNrDcdSent ( void  ) const
Returns
the number dcd messages already sent

Definition at line 411 of file bs-net-device.cc.

References m_nrDcdSent.

◆ GetNrDlSymbols()

uint32_t ns3::BaseStationNetDevice::GetNrDlSymbols ( void  ) const
Returns
the number of symbols in the downlink sub-frame

Definition at line 393 of file bs-net-device.cc.

References m_nrDlSymbols.

◆ GetNrUcdSent()

uint32_t ns3::BaseStationNetDevice::GetNrUcdSent ( void  ) const
Returns
the number ucd messages already sent

Definition at line 417 of file bs-net-device.cc.

References m_nrUcdSent.

◆ GetNrUlSymbols()

uint32_t ns3::BaseStationNetDevice::GetNrUlSymbols ( void  ) const
Returns
the number of symbols in the uplink sub-frame

Definition at line 405 of file bs-net-device.cc.

References m_nrUlSymbols.

◆ GetPsDuration()

Time ns3::BaseStationNetDevice::GetPsDuration ( void  ) const
Returns
PS duration

Definition at line 500 of file bs-net-device.cc.

References m_psDuration.

◆ GetRangingOppNumber()

uint8_t ns3::BaseStationNetDevice::GetRangingOppNumber ( void  ) const
Returns
the ranging opp number

Definition at line 435 of file bs-net-device.cc.

References m_rangingOppNumber.

◆ GetRangReqOppSize()

uint8_t ns3::BaseStationNetDevice::GetRangReqOppSize ( void  ) const
Returns
The ranging opportunity size in symbols

Definition at line 369 of file bs-net-device.cc.

References m_rangReqOppSize.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetServiceFlowManager()

Ptr< BsServiceFlowManager > ns3::BaseStationNetDevice::GetServiceFlowManager ( void  ) const
Returns
service flow manager

Definition at line 453 of file bs-net-device.cc.

References m_serviceFlowManager.

Referenced by DoReceive(), DoSend(), and GetTypeId().

+ Here is the caller graph for this function:

◆ GetSSManager()

Ptr< SSManager > ns3::BaseStationNetDevice::GetSSManager ( void  ) const
Returns
a pointer to the SS manager

Definition at line 441 of file bs-net-device.cc.

References m_ssManager.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetSymbolDuration()

Time ns3::BaseStationNetDevice::GetSymbolDuration ( void  ) const
Returns
symbol duration

Definition at line 506 of file bs-net-device.cc.

References m_symbolDuration.

◆ GetTypeId()

◆ GetUcdInterval()

Time ns3::BaseStationNetDevice::GetUcdInterval ( void  ) const
Returns
Time between transmission of UCD messages

Definition at line 321 of file bs-net-device.cc.

References m_ucdInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetUlSubframeStartTime()

Time ns3::BaseStationNetDevice::GetUlSubframeStartTime ( void  ) const
Returns
the UL subframe start time

Definition at line 429 of file bs-net-device.cc.

References m_ulSubframeStartTime.

◆ GetUplinkScheduler()

Ptr< UplinkScheduler > ns3::BaseStationNetDevice::GetUplinkScheduler ( void  ) const
Returns
a pointer to the uplink scheduler installed on the device

Definition at line 465 of file bs-net-device.cc.

References m_uplinkScheduler.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ InitBaseStationNetDevice()

◆ MarkRangingOppStart()

void ns3::BaseStationNetDevice::MarkRangingOppStart ( Time  rangingOppStartTime)

Mark ranging opp start.

Parameters
rangingOppStartTimestart time

Definition at line 1225 of file bs-net-device.cc.

References RangingOppStart(), and ns3::Simulator::Schedule().

+ Here is the call graph for this function:

◆ MarkUplinkAllocationEnd()

void ns3::BaseStationNetDevice::MarkUplinkAllocationEnd ( Time  allocationEndTime,
Cid  cid,
uint8_t  uiuc 
)
private

Mark uplink allocation end.

Parameters
allocationEndTimeallocation end time
cidconnection ID
uiuc

Definition at line 1198 of file bs-net-device.cc.

References ns3::Simulator::Schedule(), and UplinkAllocationEnd().

Referenced by MarkUplinkAllocations().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MarkUplinkAllocations()

void ns3::BaseStationNetDevice::MarkUplinkAllocations ( void  )

Mark uplink allocations.

Definition at line 1171 of file bs-net-device.cc.

References ns3::OfdmUlMapIe::GetCid(), ns3::OfdmUlMapIe::GetDuration(), ns3::OfdmUlMapIe::GetStartTime(), ns3::OfdmUlMapIe::GetUiuc(), m_symbolDuration, m_uplinkScheduler, MarkUplinkAllocationEnd(), MarkUplinkAllocationStart(), and ns3::OfdmUlBurstProfile::UIUC_END_OF_MAP.

Referenced by StartUlSubFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MarkUplinkAllocationStart()

void ns3::BaseStationNetDevice::MarkUplinkAllocationStart ( Time  allocationStartTime)
private

Mark uplink allocation start.

Parameters
allocationStartTimeallocation start time

Definition at line 1192 of file bs-net-device.cc.

References ns3::Simulator::Schedule(), and UplinkAllocationStart().

Referenced by MarkUplinkAllocations().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RangingOppStart()

void ns3::BaseStationNetDevice::RangingOppStart ( void  )
private

Ranging opp start.

Definition at line 1231 of file bs-net-device.cc.

References m_rangingOppNumber, ns3::Simulator::Now(), NS_LOG_DEBUG, and ns3::Time::S.

Referenced by MarkRangingOppStart().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendBursts()

◆ SetBsClassifier()

void ns3::BaseStationNetDevice::SetBsClassifier ( Ptr< IpcsClassifier classifier)
Parameters
classifiera classifier to be installed on the BS

Definition at line 279 of file bs-net-device.cc.

References m_bsClassifier.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetBSScheduler()

void ns3::BaseStationNetDevice::SetBSScheduler ( Ptr< BSScheduler bsSchedule)
Parameters
bsSchedulethe downlink scheduler to be installed on the BS

Definition at line 489 of file bs-net-device.cc.

References m_scheduler.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetBwReqOppSize()

void ns3::BaseStationNetDevice::SetBwReqOppSize ( uint8_t  bwReqOppSize)
Parameters
bwReqOppSizeThe bandwidth request opportunity size in symbols

Definition at line 375 of file bs-net-device.cc.

References m_bwReqOppSize.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetDcdInterval()

void ns3::BaseStationNetDevice::SetDcdInterval ( Time  dcdInterval)
Parameters
dcdIntervalTime between transmission of DCD messages

Definition at line 303 of file bs-net-device.cc.

References m_dcdInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetDlBurstProfiles()

void ns3::BaseStationNetDevice::SetDlBurstProfiles ( Dcd dcd)
private

Send DL burst profiles.

Parameters
dcdburst profile

Definition at line 1120 of file bs-net-device.cc.

References ns3::Dcd::AddDlBurstProfile(), ns3::WimaxNetDevice::GetBurstProfileManager(), ns3::OfdmDlBurstProfile::SetDiuc(), ns3::OfdmDlBurstProfile::SetFecCodeType(), ns3::OfdmDlBurstProfile::SetLength(), and ns3::OfdmDlBurstProfile::SetType().

Referenced by CreateDcd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetInitialRangingInterval()

void ns3::BaseStationNetDevice::SetInitialRangingInterval ( Time  initialRangInterval)
Parameters
initialRangIntervalTime between initial ranging regions assigned by the BS

Definition at line 291 of file bs-net-device.cc.

References m_initialRangInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetIntervalT8()

void ns3::BaseStationNetDevice::SetIntervalT8 ( Time  interval)
Parameters
intervalthe Wait for DSA/DSC Acknowledge timeout

Definition at line 327 of file bs-net-device.cc.

References m_intervalT8.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetLinkManager()

void ns3::BaseStationNetDevice::SetLinkManager ( Ptr< BSLinkManager linkManager)
Parameters
linkManagerThe link manager installed on the BS

Definition at line 483 of file bs-net-device.cc.

References m_linkManager.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetMaxInvitedRangRetries()

void ns3::BaseStationNetDevice::SetMaxInvitedRangRetries ( uint8_t  maxInvitedRangRetries)
Parameters
maxInvitedRangRetriesthe number of retries on contention Ranging

Definition at line 351 of file bs-net-device.cc.

References m_maxInvitedRangRetries.

◆ SetMaxRangingCorrectionRetries()

void ns3::BaseStationNetDevice::SetMaxRangingCorrectionRetries ( uint8_t  maxRangCorrectionRetries)
Parameters
maxRangCorrectionRetriesthe number of retries on contention Ranging Requests

Definition at line 339 of file bs-net-device.cc.

References m_maxRangCorrectionRetries.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetNrDlSymbols()

void ns3::BaseStationNetDevice::SetNrDlSymbols ( uint32_t  dlSymbols)
Parameters
dlSymbolsthe number of symbols in the downlink sub-frame

Definition at line 387 of file bs-net-device.cc.

References m_nrDlSymbols.

Referenced by StartFrame().

+ Here is the caller graph for this function:

◆ SetNrUlSymbols()

void ns3::BaseStationNetDevice::SetNrUlSymbols ( uint32_t  ulSymbols)
Parameters
ulSymbolsthe number of symbols in the uplink sub-frame

Definition at line 399 of file bs-net-device.cc.

References m_nrUlSymbols.

Referenced by StartFrame().

+ Here is the caller graph for this function:

◆ SetRangReqOppSize()

void ns3::BaseStationNetDevice::SetRangReqOppSize ( uint8_t  rangReqOppSize)
Parameters
rangReqOppSizeThe ranging opportunity size in symbols

Definition at line 363 of file bs-net-device.cc.

References m_rangReqOppSize.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetServiceFlowManager()

void ns3::BaseStationNetDevice::SetServiceFlowManager ( Ptr< BsServiceFlowManager sfm)

Set service flow manager.

Parameters
sfmthe service flow manager

Definition at line 459 of file bs-net-device.cc.

References m_serviceFlowManager.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetSSManager()

void ns3::BaseStationNetDevice::SetSSManager ( Ptr< SSManager ssManager)
Parameters
ssManagerthe SS manager to be installed on the BS

Definition at line 447 of file bs-net-device.cc.

References m_ssManager.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetUcdInterval()

void ns3::BaseStationNetDevice::SetUcdInterval ( Time  ucdInterval)
Parameters
ucdIntervalthe Time between transmission of UCD messages

Definition at line 315 of file bs-net-device.cc.

References m_ucdInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetUlBurstProfiles()

void ns3::BaseStationNetDevice::SetUlBurstProfiles ( Ucd ucd)
private

Send UL burst profiles.

Parameters
ucdburst profile

Definition at line 1134 of file bs-net-device.cc.

References ns3::Ucd::AddUlBurstProfile(), ns3::WimaxNetDevice::GetBurstProfileManager(), ns3::OfdmUlBurstProfile::SetFecCodeType(), ns3::OfdmUlBurstProfile::SetLength(), ns3::OfdmUlBurstProfile::SetType(), and ns3::OfdmUlBurstProfile::SetUiuc().

Referenced by CreateUcd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetUplinkScheduler()

void ns3::BaseStationNetDevice::SetUplinkScheduler ( Ptr< UplinkScheduler ulScheduler)
Parameters
ulSchedulerthe ulScheduler to be isnstalled on the BS

Definition at line 471 of file bs-net-device.cc.

References m_uplinkScheduler.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ Start()

◆ StartDlSubFrame()

◆ StartFrame()

void ns3::BaseStationNetDevice::StartFrame ( void  )
private

◆ StartUlSubFrame()

void ns3::BaseStationNetDevice::StartUlSubFrame ( void  )
private

◆ Stop()

void ns3::BaseStationNetDevice::Stop ( void  )
virtual

Stop device.

Implements ns3::WimaxNetDevice.

Definition at line 534 of file bs-net-device.cc.

◆ UplinkAllocationEnd()

void ns3::BaseStationNetDevice::UplinkAllocationEnd ( Cid  cid,
uint8_t  uiuc 
)
private

Uplink allocation end.

Parameters
cidconnection ID
uiuc

Definition at line 1214 of file bs-net-device.cc.

References ns3::CidFactory::IsBasic(), m_cidFactory, m_linkManager, m_ulAllocationNumber, ns3::Simulator::Now(), NS_LOG_DEBUG, and ns3::Time::S.

Referenced by MarkUplinkAllocationEnd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UplinkAllocationStart()

void ns3::BaseStationNetDevice::UplinkAllocationStart ( void  )
private

Uplink allocation start.

Definition at line 1204 of file bs-net-device.cc.

References m_ulAllocationNumber, ns3::Simulator::Now(), NS_LOG_DEBUG, and ns3::Time::S.

Referenced by MarkUplinkAllocationStart().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_allocationStartTime

uint32_t ns3::BaseStationNetDevice::m_allocationStartTime
private

allocation start time

Definition at line 448 of file bs-net-device.h.

Referenced by InitBaseStationNetDevice().

◆ m_bsClassifier

Ptr<IpcsClassifier> ns3::BaseStationNetDevice::m_bsClassifier
private

the base station classifier

Definition at line 454 of file bs-net-device.h.

Referenced by DoDispose(), DoSend(), GetBsClassifier(), InitBaseStationNetDevice(), and SetBsClassifier().

◆ m_bsPromiscRxTrace

TracedCallback<Ptr<const Packet> > ns3::BaseStationNetDevice::m_bsPromiscRxTrace
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.

See also
class CallBackTraceSource base station promiscious receive trace Callbacks

Definition at line 485 of file bs-net-device.h.

Referenced by GetTypeId().

◆ m_bsRxDropTrace

TracedCallback<Ptr<const Packet> > ns3::BaseStationNetDevice::m_bsRxDropTrace
private

The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during reception.

See also
class CallBackTraceSource base station receive drop trace Callbacks

Definition at line 502 of file bs-net-device.h.

Referenced by DoReceive(), and GetTypeId().

◆ m_bsRxTrace

TracedCallback<Ptr<const Packet> > ns3::BaseStationNetDevice::m_bsRxTrace
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.

See also
class CallBackTraceSource base station receive trace Callbacks

Definition at line 494 of file bs-net-device.h.

Referenced by DoReceive(), and GetTypeId().

◆ m_bsTxDropTrace

TracedCallback<Ptr<const Packet> > ns3::BaseStationNetDevice::m_bsTxDropTrace
private

The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer during transmission.

See also
class CallBackTraceSource base station transmit drop trace Callbacks

Definition at line 476 of file bs-net-device.h.

Referenced by DoSend(), and GetTypeId().

◆ m_bsTxTrace

TracedCallback<Ptr<const Packet> > ns3::BaseStationNetDevice::m_bsTxTrace
private

The trace source fired when packets come into the "top" of the device at the L3/L2 transition, before being queued for transmission.

See also
class CallBackTraceSource the base station transmit trace Callbacks

Definition at line 468 of file bs-net-device.h.

Referenced by DoSend(), and GetTypeId().

◆ m_bwReqOppSize

uint8_t ns3::BaseStationNetDevice::m_bwReqOppSize
private

in symbols

Definition at line 412 of file bs-net-device.h.

Referenced by CreateUcd(), GetBwReqOppSize(), InitBaseStationNetDevice(), SetBwReqOppSize(), and Start().

◆ m_cidFactory

CidFactory* ns3::BaseStationNetDevice::m_cidFactory
private

the CID factory

Definition at line 446 of file bs-net-device.h.

Referenced by DoDispose(), DoReceive(), InitBaseStationNetDevice(), Start(), and UplinkAllocationEnd().

◆ m_dcdConfigChangeCount

uint32_t ns3::BaseStationNetDevice::m_dcdConfigChangeCount
private

DCD config change count.

Definition at line 424 of file bs-net-device.h.

Referenced by CreateDcd(), CreateDlMap(), CreateMapMessages(), and InitBaseStationNetDevice().

◆ m_dcdInterval

Time ns3::BaseStationNetDevice::m_dcdInterval
private

in seconds

Definition at line 405 of file bs-net-device.h.

Referenced by GetDcdInterval(), InitBaseStationNetDevice(), and SetDcdInterval().

◆ m_dlSubframeStartTime

Time ns3::BaseStationNetDevice::m_dlSubframeStartTime
private

DL subframe start time.

Definition at line 440 of file bs-net-device.h.

Referenced by GetDlSubframeStartTime(), InitBaseStationNetDevice(), and StartDlSubFrame().

◆ m_framesSinceLastDcd

uint32_t ns3::BaseStationNetDevice::m_framesSinceLastDcd
private

frames since last DCD

Definition at line 427 of file bs-net-device.h.

Referenced by CreateDescriptorMessages(), and InitBaseStationNetDevice().

◆ m_framesSinceLastUcd

uint32_t ns3::BaseStationNetDevice::m_framesSinceLastUcd
private

frames since last UCD

Definition at line 428 of file bs-net-device.h.

Referenced by CreateDescriptorMessages(), and InitBaseStationNetDevice().

◆ m_initialRangInterval

Time ns3::BaseStationNetDevice::m_initialRangInterval
private

in seconds

Definition at line 404 of file bs-net-device.h.

Referenced by GetInitialRangingInterval(), InitBaseStationNetDevice(), and SetInitialRangingInterval().

◆ m_intervalT8

Time ns3::BaseStationNetDevice::m_intervalT8
private

in milliseconds, wait for DSA/DSC Acknowledge timeout

Definition at line 407 of file bs-net-device.h.

Referenced by GetIntervalT8(), InitBaseStationNetDevice(), and SetIntervalT8().

◆ m_linkManager

Ptr<BSLinkManager> ns3::BaseStationNetDevice::m_linkManager
private

◆ m_maxInvitedRangRetries

uint8_t ns3::BaseStationNetDevice::m_maxInvitedRangRetries
private

maximum invited range retries

Definition at line 410 of file bs-net-device.h.

Referenced by GetMaxInvitedRangRetries(), InitBaseStationNetDevice(), and SetMaxInvitedRangRetries().

◆ m_maxRangCorrectionRetries

uint8_t ns3::BaseStationNetDevice::m_maxRangCorrectionRetries
private

maximum range correction retries

Definition at line 409 of file bs-net-device.h.

Referenced by GetMaxRangingCorrectionRetries(), InitBaseStationNetDevice(), and SetMaxRangingCorrectionRetries().

◆ m_nrDcdSent

uint32_t ns3::BaseStationNetDevice::m_nrDcdSent
private

number DCD sent

Definition at line 421 of file bs-net-device.h.

Referenced by CreateDescriptorMessages(), GetNrDcdSent(), and InitBaseStationNetDevice().

◆ m_nrDlAllocations

uint16_t ns3::BaseStationNetDevice::m_nrDlAllocations
private

number DL allocations

Definition at line 437 of file bs-net-device.h.

Referenced by CreateDlMap(), and InitBaseStationNetDevice().

◆ m_nrDlFrames

uint32_t ns3::BaseStationNetDevice::m_nrDlFrames
private

number DL frames

Definition at line 431 of file bs-net-device.h.

Referenced by EndDlSubFrame(), and InitBaseStationNetDevice().

◆ m_nrDlMapSent

uint32_t ns3::BaseStationNetDevice::m_nrDlMapSent
private

number DL map sent

Definition at line 418 of file bs-net-device.h.

Referenced by CreateMapMessages(), and InitBaseStationNetDevice().

◆ m_nrDlSymbols

uint32_t ns3::BaseStationNetDevice::m_nrDlSymbols
private

number of DL symbols

Definition at line 414 of file bs-net-device.h.

Referenced by GetNrDlSymbols(), InitBaseStationNetDevice(), SetNrDlSymbols(), and StartDlSubFrame().

◆ m_nrSsRegistered

uint16_t ns3::BaseStationNetDevice::m_nrSsRegistered
private

number SS registered

Definition at line 435 of file bs-net-device.h.

Referenced by CreateMapMessages(), and InitBaseStationNetDevice().

◆ m_nrUcdSent

uint32_t ns3::BaseStationNetDevice::m_nrUcdSent
private

number UCD sent

Definition at line 422 of file bs-net-device.h.

Referenced by CreateDescriptorMessages(), GetNrUcdSent(), and InitBaseStationNetDevice().

◆ m_nrUlAllocations

uint16_t ns3::BaseStationNetDevice::m_nrUlAllocations
private

number UL allocations

Definition at line 438 of file bs-net-device.h.

Referenced by CreateUlMap(), and InitBaseStationNetDevice().

◆ m_nrUlFrames

uint32_t ns3::BaseStationNetDevice::m_nrUlFrames
private

number UL frames

Definition at line 432 of file bs-net-device.h.

Referenced by EndUlSubFrame(), and InitBaseStationNetDevice().

◆ m_nrUlMapSent

uint32_t ns3::BaseStationNetDevice::m_nrUlMapSent
private

number UL map sent

Definition at line 419 of file bs-net-device.h.

Referenced by CreateMapMessages(), and InitBaseStationNetDevice().

◆ m_nrUlSymbols

uint32_t ns3::BaseStationNetDevice::m_nrUlSymbols
private

number of UL symbols

Definition at line 415 of file bs-net-device.h.

Referenced by GetNrUlSymbols(), InitBaseStationNetDevice(), SetNrUlSymbols(), and StartUlSubFrame().

◆ m_psDuration

Time ns3::BaseStationNetDevice::m_psDuration
private

ps duration

Definition at line 457 of file bs-net-device.h.

Referenced by EndDlSubFrame(), EndUlSubFrame(), GetPsDuration(), InitBaseStationNetDevice(), Start(), and StartFrame().

◆ m_rangingOppNumber

uint8_t ns3::BaseStationNetDevice::m_rangingOppNumber
private

current ranging TO number

Definition at line 444 of file bs-net-device.h.

Referenced by CreateUlMap(), GetRangingOppNumber(), InitBaseStationNetDevice(), and RangingOppStart().

◆ m_rangReqOppSize

uint8_t ns3::BaseStationNetDevice::m_rangReqOppSize
private

in symbols

Definition at line 411 of file bs-net-device.h.

Referenced by CreateUcd(), GetRangReqOppSize(), InitBaseStationNetDevice(), and SetRangReqOppSize().

◆ m_scheduler

Ptr<BSScheduler> ns3::BaseStationNetDevice::m_scheduler
private

the base station scheduler

Definition at line 452 of file bs-net-device.h.

Referenced by BaseStationNetDevice(), CreateDlMap(), DoDispose(), GetBSScheduler(), GetTypeId(), SendBursts(), SetBSScheduler(), and StartDlSubFrame().

◆ m_serviceFlowManager

Ptr<BsServiceFlowManager> ns3::BaseStationNetDevice::m_serviceFlowManager
private

the service flow manager

Definition at line 455 of file bs-net-device.h.

Referenced by DoDispose(), GetServiceFlowManager(), InitBaseStationNetDevice(), SendBursts(), and SetServiceFlowManager().

◆ m_ssManager

Ptr<SSManager> ns3::BaseStationNetDevice::m_ssManager
private

the SS manager

Definition at line 450 of file bs-net-device.h.

Referenced by CreateMapMessages(), DoDispose(), DoReceive(), GetSSManager(), InitBaseStationNetDevice(), and SetSSManager().

◆ m_symbolDuration

Time ns3::BaseStationNetDevice::m_symbolDuration
private

◆ m_traceBSRx

TracedCallback<Ptr<const Packet>, Mac48Address, Cid> ns3::BaseStationNetDevice::m_traceBSRx
private

the base station receive trace callback

Definition at line 460 of file bs-net-device.h.

Referenced by DoReceive().

◆ m_ucdConfigChangeCount

uint32_t ns3::BaseStationNetDevice::m_ucdConfigChangeCount
private

UCD config change count.

Definition at line 425 of file bs-net-device.h.

Referenced by CreateMapMessages(), CreateUcd(), CreateUlMap(), and InitBaseStationNetDevice().

◆ m_ucdInterval

Time ns3::BaseStationNetDevice::m_ucdInterval
private

in seconds

Definition at line 406 of file bs-net-device.h.

Referenced by GetUcdInterval(), InitBaseStationNetDevice(), and SetUcdInterval().

◆ m_ulAllocationNumber

uint8_t ns3::BaseStationNetDevice::m_ulAllocationNumber
private

to see UL burst number

Definition at line 443 of file bs-net-device.h.

Referenced by CreateUlMap(), InitBaseStationNetDevice(), UplinkAllocationEnd(), and UplinkAllocationStart().

◆ m_ulSubframeStartTime

Time ns3::BaseStationNetDevice::m_ulSubframeStartTime
private

UL subframe start time.

Definition at line 441 of file bs-net-device.h.

Referenced by GetUlSubframeStartTime(), InitBaseStationNetDevice(), and StartUlSubFrame().

◆ m_uplinkScheduler

Ptr<UplinkScheduler> ns3::BaseStationNetDevice::m_uplinkScheduler
private

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