Public Types |
enum | State { BS_STATE_DL_SUB_FRAME,
BS_STATE_UL_SUB_FRAME,
BS_STATE_TTG,
BS_STATE_RTG
} |
enum | MacPreamble { SHORT_PREAMBLE = 1,
LONG_PREAMBLE
} |
enum | Direction { DIRECTION_DOWNLINK,
DIRECTION_UPLINK
} |
enum | RangingStatus { RANGING_STATUS_EXPIRED,
RANGING_STATUS_CONTINUE,
RANGING_STATUS_ABORT,
RANGING_STATUS_SUCCESS
} |
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
} |
typedef Callback< bool, Ptr
< NetDevice >, Ptr< const
Packet >, uint16_t, const
Address & > | ReceiveCallback |
typedef Callback< bool, Ptr
< NetDevice >, Ptr< const
Packet >, uint16_t, const
Address &, const Address
&, enum PacketType > | PromiscReceiveCallback |
Public Member Functions |
| BaseStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy) |
| BaseStationNetDevice (Ptr< Node > node, Ptr< WimaxPhy > phy, Ptr< UplinkScheduler > uplinkScheduler, Ptr< BSScheduler > bsScheduler) |
void | SetInitialRangingInterval (Time initialRangInterval) |
void | InitBaseStationNetDevice (void) |
| initializes the BS net device and sets its parameters to the default values
|
Time | GetInitialRangingInterval (void) const |
void | SetDcdInterval (Time dcdInterval) |
Time | GetDcdInterval (void) const |
void | SetUcdInterval (Time ucdInterval) |
Time | GetUcdInterval (void) const |
void | SetIntervalT8 (Time interval) |
Time | GetIntervalT8 (void) const |
void | SetMaxRangingCorrectionRetries (uint8_t maxRangCorrectionRetries) |
uint8_t | GetMaxRangingCorrectionRetries (void) const |
void | SetMaxInvitedRangRetries (uint8_t maxInvitedRangRetries) |
uint8_t | GetMaxInvitedRangRetries (void) const |
void | SetRangReqOppSize (uint8_t rangReqOppSize) |
uint8_t | GetRangReqOppSize (void) const |
void | SetBwReqOppSize (uint8_t bwReqOppSize) |
uint8_t | GetBwReqOppSize (void) const |
void | SetNrDlSymbols (uint32_t dlSymbols) |
uint32_t | GetNrDlSymbols (void) const |
void | SetNrUlSymbols (uint32_t ulSymbols) |
uint32_t | GetNrUlSymbols (void) const |
uint32_t | GetNrDcdSent (void) const |
uint32_t | GetNrUcdSent (void) const |
Time | GetDlSubframeStartTime (void) const |
Time | GetUlSubframeStartTime (void) const |
uint8_t | GetRangingOppNumber (void) const |
Ptr< SSManager > | GetSSManager (void) const |
void | SetSSManager (Ptr< SSManager > ssManager) |
Ptr< UplinkScheduler > | GetUplinkScheduler (void) const |
void | SetUplinkScheduler (Ptr< UplinkScheduler > ulScheduler) |
Ptr< BSLinkManager > | GetLinkManager (void) const |
void | SetBSScheduler (Ptr< BSScheduler > bsSchedule) |
Ptr< BSScheduler > | GetBSScheduler (void) const |
void | SetLinkManager (Ptr< BSLinkManager > linkManager) |
Ptr< IpcsClassifier > | GetBsClassifier (void) const |
void | SetBsClassifier (Ptr< IpcsClassifier > classifier) |
Time | GetPsDuration (void) const |
Time | GetSymbolDuration (void) const |
void | Start (void) |
void | Stop (void) |
bool | Enqueue (Ptr< Packet > packet, const MacHeaderType &hdrType, Ptr< WimaxConnection > connection) |
| Enqueue a packet into a connection queue.
|
Ptr< WimaxConnection > | GetConnection (Cid cid) |
void | MarkUplinkAllocations (void) |
void | MarkRangingOppStart (Time rangingOppStartTime) |
Ptr< BsServiceFlowManager > | GetServiceFlowManager (void) const |
void | SetServiceFlowManager (Ptr< BsServiceFlowManager >) |
void | SetTtg (uint16_t ttg) |
uint16_t | GetTtg (void) const |
void | SetRtg (uint16_t rtg) |
uint16_t | GetRtg (void) const |
void | Attach (Ptr< WimaxChannel > channel) |
void | SetPhy (Ptr< WimaxPhy > phy) |
Ptr< WimaxPhy > | GetPhy (void) const |
void | SetChannel (Ptr< WimaxChannel > wimaxChannel) |
uint64_t | GetChannel (uint8_t index) const |
void | SetNrFrames (uint32_t nrFrames) |
uint32_t | GetNrFrames (void) const |
void | SetMacAddress (Mac48Address address) |
Mac48Address | GetMacAddress (void) const |
void | SetState (uint8_t state) |
uint8_t | GetState (void) const |
Ptr< WimaxConnection > | GetInitialRangingConnection (void) const |
Ptr< WimaxConnection > | GetBroadcastConnection (void) const |
void | SetCurrentDcd (Dcd dcd) |
Dcd | GetCurrentDcd (void) const |
void | SetCurrentUcd (Ucd ucd) |
Ucd | GetCurrentUcd (void) const |
Ptr< ConnectionManager > | GetConnectionManager (void) const |
virtual void | SetConnectionManager (Ptr< ConnectionManager > connectionManager) |
Ptr< BurstProfileManager > | GetBurstProfileManager (void) const |
void | SetBurstProfileManager (Ptr< BurstProfileManager > burstProfileManager) |
Ptr< BandwidthManager > | GetBandwidthManager (void) const |
void | SetBandwidthManager (Ptr< BandwidthManager > bandwidthManager) |
void | CreateDefaultConnections (void) |
void | SetReceiveCallback (void) |
void | ForwardUp (Ptr< Packet > packet, const Mac48Address &source, const Mac48Address &dest) |
void | ForwardDown (Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType) |
virtual void | SetName (const std::string name) |
virtual std::string | GetName (void) const |
virtual void | SetIfIndex (const uint32_t index) |
virtual uint32_t | GetIfIndex (void) const |
virtual Ptr< Channel > | GetPhyChannel (void) const |
virtual Ptr< Channel > | GetChannel (void) const |
virtual void | SetAddress (Address address) |
virtual Address | GetAddress (void) const |
virtual bool | SetMtu (const uint16_t mtu) |
virtual uint16_t | GetMtu (void) const |
virtual bool | IsLinkUp (void) const |
virtual void | SetLinkChangeCallback (Callback< void > callback) |
virtual bool | IsBroadcast (void) const |
virtual Address | GetBroadcast (void) const |
virtual bool | IsMulticast (void) const |
virtual Address | GetMulticast (void) const |
virtual Address | MakeMulticastAddress (Ipv4Address multicastGroup) const |
virtual bool | IsPointToPoint (void) const |
| Return true if the net device is on a point-to-point link.
|
virtual bool | Send (Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber) |
virtual void | SetNode (Ptr< Node > node) |
virtual Ptr< Node > | GetNode (void) const |
virtual bool | NeedsArp (void) const |
virtual void | SetReceiveCallback (NetDevice::ReceiveCallback cb) |
virtual void | AddLinkChangeCallback (Callback< void > callback) |
virtual bool | SendFrom (Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber) |
virtual void | SetPromiscReceiveCallback (PromiscReceiveCallback cb) |
NetDevice::PromiscReceiveCallback | GetPromiscReceiveCallback (void) |
virtual bool | SupportsSendFrom (void) const |
virtual Address | GetMulticast (Ipv6Address addr) const |
| Get the MAC multicast address corresponding to the IPv6 address provided.
|
virtual Address | GetMulticast (Ipv4Address multicastGroup) const |
| Make and return a MAC multicast address using the provided multicast group.
|
virtual bool | IsBridge (void) const |
| Return true if the net device is acting as a bridge.
|
bool | IsPromisc (void) |
void | NotifyPromiscTrace (Ptr< Packet > p) |
TypeId ns3::BaseStationNetDevice::GetTypeId |
( |
void |
| ) |
|
|
static |
This method returns the TypeId associated to ns3::BaseStationNetDevice.
This object is accessible through the following paths with Config::Set and Config::Connect:
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice
Attributes defined for this type:
-
BSScheduler: Downlink Scheduler for BS
-
InitialRangInterval: Time between Initial Ranging regions assigned by the BS. Maximum is 2s
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: +50000000.0ns
-
Flags: construct write read
-
DcdInterval: Time between transmission of DCD messages. Maximum value is 10s.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: +3000000000.0ns
-
Flags: construct write read
-
UcdInterval: Time between transmission of UCD messages. Maximum value is 10s.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: +3000000000.0ns
-
Flags: construct write read
-
IntervalT8: Wait for DSA/DSC Acknowledge timeout. Maximum 300ms.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: +50000000.0ns
-
Flags: construct write read
-
RangReqOppSize: The ranging opportunity size in symbols
-
BwReqOppSize: The bandwidth request opportunity size in symbols
-
MaxRangCorrectionRetries: Number of retries on contention Ranging Requests
-
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:
-
Mtu: The MAC-level Maximum Transmission Unit
-
Phy: The PHY layer attached to this device.
-
Channel: The channel attached to this device.
-
RTG: receive/transmit transition gap.
-
TTG: transmit/receive transition gap.
-
ConnectionManager: The connection manager attached to this device.
-
BurstProfileManager: The burst profile manager attached to this device.
-
BandwidthManager: The bandwidth manager attached to this device.
-
InitialRangingConnection: Initial ranging connection
-
BroadcastConnection: Broadcast connection
TraceSources defined for this type:
-
BSTx: A packet has been received from higher layers and is being processed in preparation for queueing for transmission.
-
BSTxDrop: A packet has been dropped in the MAC layer before being queued for transmission.
-
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,
-
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,
-
BSRxDrop: A packet has been dropped in the MAC layer after it has been passed up from the physical layer.
TraceSources defined in parent class ns3::WimaxNetDevice:
-
Rx: Receive trace
-
Tx: Transmit trace
Reimplemented from ns3::WimaxNetDevice.
References GetBsClassifier(), GetBSScheduler(), GetBwReqOppSize(), GetDcdInterval(), GetInitialRangingInterval(), GetIntervalT8(), GetLinkManager(), GetMaxRangingCorrectionRetries(), GetRangReqOppSize(), GetSSManager(), GetUcdInterval(), GetUplinkScheduler(), ns3::MakeTraceSourceAccessor(), ns3::Seconds(), SetBsClassifier(), SetBSScheduler(), SetBwReqOppSize(), SetDcdInterval(), SetInitialRangingInterval(), SetIntervalT8(), SetLinkManager(), SetMaxRangingCorrectionRetries(), ns3::TypeId::SetParent(), SetRangReqOppSize(), SetSSManager(), SetUcdInterval(), and SetUplinkScheduler().