A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::LteEnbMac Class Reference

This class implements the MAC layer of the eNodeB device. More...

#include "lte-enb-mac.h"

+ Inheritance diagram for ns3::LteEnbMac:
+ Collaboration diagram for ns3::LteEnbMac:

Classes

struct  NcRaPreambleInfo
 info associated with a preamble allocated for non-contention based RA More...
 

Public Types

typedef void(* DlSchedulingTracedCallback) (const uint32_t frame, const uint32_t subframe, const uint16_t rnti, const uint8_t mcs0, const uint16_t tbs0Size, const uint8_t mcs1, const uint16_t tbs1Size, const uint8_t ccId)
 TracedCallback signature for DL scheduling events.
 
typedef void(* UlSchedulingTracedCallback) (const uint32_t frame, const uint32_t subframe, const uint16_t rnti, const uint8_t mcs, const uint16_t tbsSize)
 TracedCallback signature for UL scheduling events.
 

Public Member Functions

 LteEnbMac ()
 
 ~LteEnbMac () override
 
void DoDispose () override
 Destructor implementation.
 
void DoReceivePhyPdu (Ptr< Packet > p)
 legacy public for use the Phy callback
 
FfMacCschedSapUserGetFfMacCschedSapUser ()
 Get the control scheduler SAP user.
 
FfMacSchedSapUserGetFfMacSchedSapUser ()
 Get the scheduler SAP user.
 
LteCcmMacSapProviderGetLteCcmMacSapProvider ()
 Get the eNB-ComponentCarrierManager SAP User.
 
LteEnbCmacSapProviderGetLteEnbCmacSapProvider ()
 Get the control MAC SAP provider.
 
LteEnbPhySapUserGetLteEnbPhySapUser ()
 Get the eNB-PHY SAP User.
 
LteMacSapProviderGetLteMacSapProvider ()
 Get the MAC SAP provider.
 
void SetComponentCarrierId (uint8_t index)
 Set the component carrier ID.
 
void SetFfMacCschedSapProvider (FfMacCschedSapProvider *s)
 Set the control scheduler SAP provider.
 
void SetFfMacSchedSapProvider (FfMacSchedSapProvider *s)
 Set the scheduler SAP provider.
 
void SetLteCcmMacSapUser (LteCcmMacSapUser *s)
 Set the ComponentCarrierManager SAP user.
 
void SetLteEnbCmacSapUser (LteEnbCmacSapUser *s)
 Set the control MAC SAP user.
 
void SetLteEnbPhySapProvider (LteEnbPhySapProvider *s)
 Set the PHY SAP Provider.
 
void SetLteMacSapUser (LteMacSapUser *s)
 Set the MAC SAP user.
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor.
 
 ~Object () override
 Destructor.
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together.
 
void Dispose ()
 Dispose of this Object.
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated Object.
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object.
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId.
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object.
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one.
 
bool IsInitialized () const
 Check if the object has been initialized.
 
void UnidirectionalAggregateObject (Ptr< Object > other)
 Aggregate an Object to another Object.
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

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

Private Member Functions

void DoAddLc (LteEnbCmacSapProvider::LcInfo lcinfo, LteMacSapUser *msu)
 Add LC function.
 
void DoAddUe (uint16_t rnti)
 Add UE function.
 
LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue DoAllocateNcRaPreamble (uint16_t rnti)
 Allocate NC RA preamble function.
 
void DoConfigureMac (uint16_t ulBandwidth, uint16_t dlBandwidth)
 Configure MAC function.
 
void DoCschedCellConfigCnf (FfMacCschedSapUser::CschedCellConfigCnfParameters params)
 CSched Cell Config configure function.
 
void DoCschedCellConfigUpdateInd (FfMacCschedSapUser::CschedCellConfigUpdateIndParameters params)
 CSched Cell Config Update Indication function.
 
void DoCschedLcConfigCnf (FfMacCschedSapUser::CschedLcConfigCnfParameters params)
 CSched LC Config configure function.
 
void DoCschedLcReleaseCnf (FfMacCschedSapUser::CschedLcReleaseCnfParameters params)
 CSched LC Release configure function.
 
void DoCschedUeConfigCnf (FfMacCschedSapUser::CschedUeConfigCnfParameters params)
 CSched UE Config configure function.
 
void DoCschedUeConfigUpdateInd (FfMacCschedSapUser::CschedUeConfigUpdateIndParameters params)
 CSched UE Config Update Indication function.
 
void DoCschedUeReleaseCnf (FfMacCschedSapUser::CschedUeReleaseCnfParameters params)
 CSched UE Release configure function.
 
void DoDlInfoListElementHarqFeedback (DlInfoListElement_s params)
 DL Info List Elements HARQ Feedback function.
 
LteEnbCmacSapProvider::RachConfig DoGetRachConfig () const
 Get RACH configuration function.
 
void DoReceiveLteControlMessage (Ptr< LteControlMessage > msg)
 Receive a DL CQI ideal control message.
 
void DoReceiveRachPreamble (uint8_t prachId)
 Receive RACH Preamble function.
 
void DoReconfigureLc (LteEnbCmacSapProvider::LcInfo lcinfo)
 Reconfigure LC function.
 
void DoReleaseLc (uint16_t rnti, uint8_t lcid)
 Release LC function.
 
void DoRemoveUe (uint16_t rnti)
 Remove UE function.
 
void DoReportBufferStatus (LteMacSapProvider::ReportBufferStatusParameters params)
 Report Buffer Status function.
 
void DoReportMacCeToScheduler (MacCeListElement_s bsr)
 Report MAC CE to scheduler.
 
void DoReportSrToScheduler (uint16_t rnti)
 Report SR to scheduler.
 
void DoSchedDlConfigInd (FfMacSchedSapUser::SchedDlConfigIndParameters ind)
 Sched DL Config Indication function.
 
void DoSchedUlConfigInd (FfMacSchedSapUser::SchedUlConfigIndParameters params)
 Sched UL Config Indication function.
 
void DoSubframeIndication (uint32_t frameNo, uint32_t subframeNo)
 Subrame Indication function.
 
void DoTransmitPdu (LteMacSapProvider::TransmitPduParameters params)
 Transmit PDU function.
 
void DoUeUpdateConfigurationReq (LteEnbCmacSapProvider::UeConfig params)
 UE Update configuration request function.
 
void DoUlCqiReport (FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ulcqi)
 UL CQI report.
 
void DoUlInfoListElementHarqFeedback (UlInfoListElement_s params)
 UL Info List Elements HARQ Feedback function.
 
void ReceiveBsrMessage (MacCeListElement_s bsr)
 Receive a CE element containing the buffer status report.
 
void ReceiveDlCqiLteControlMessage (Ptr< DlCqiLteControlMessage > msg)
 Receive a DL CQI ideal control message.
 

Private Attributes

std::map< uint8_t, NcRaPreambleInfom_allocatedNcRaPreambleMap
 map storing as key the random access preamble IDs allocated for non-contention based access, and as value the associated info
 
LteCcmMacSapProviderm_ccmMacSapProvider
 CCM MAC SAP provider.
 
LteCcmMacSapUserm_ccmMacSapUser
 CCM MAC SAP user.
 
LteEnbCmacSapProviderm_cmacSapProvider
 the CMAC SAP provider
 
LteEnbCmacSapUserm_cmacSapUser
 the CMAC SAP user
 
uint8_t m_componentCarrierId
 component carrier Id used to address sap
 
uint8_t m_connEstFailCount
 the counter value for T300 timer expiration
 
FfMacCschedSapProviderm_cschedSapProvider
 the Csched SAP provider
 
FfMacCschedSapUserm_cschedSapUser
 the CSched SAP user
 
std::vector< CqiListElement_sm_dlCqiReceived
 DL-CQI received.
 
std::vector< DlInfoListElement_sm_dlInfoListReceived
 DL HARQ feedback received.
 
TracedCallback< DlSchedulingCallbackInfom_dlScheduling
 Trace information regarding DL scheduling Frame number, Subframe number, RNTI, MCS of TB1, size of TB1, MCS of TB2 (0 if not present), size of TB2 (0 if not present)
 
LteEnbPhySapProviderm_enbPhySapProvider
 the ENB Phy SAP provider
 
LteEnbPhySapUserm_enbPhySapUser
 the ENB Phy SAP user
 
uint32_t m_frameNo
 frame number of current subframe indication
 
uint8_t m_macChTtiDelay
 delay of MAC, PHY and channel in terms of TTIs
 
LteMacSapProviderm_macSapProvider
 the MAC SAP provider
 
LteMacSapUserm_macSapUser
 the MAC SAP user
 
std::map< uint16_t, DlHarqProcessesBuffer_tm_miDlHarqProcessesPackets
 Packet under transmission of the DL HARQ process.
 
uint8_t m_numberOfRaPreambles
 number of RA preambles
 
uint8_t m_preambleTransMax
 preamble transmit maximum
 
std::map< uint16_t, uint32_tm_rapIdRntiMap
 RAPID RNTI map.
 
uint8_t m_raResponseWindowSize
 RA response window size.
 
std::map< uint8_t, uint32_tm_receivedRachPreambleCount
 received RACH preamble count
 
std::map< uint16_t, std::map< uint8_t, LteMacSapUser * > > m_rlcAttached
 RNTI, LC ID, SAP of the RLC instance.
 
FfMacSchedSapProviderm_schedSapProvider
 the Sched SAP provider
 
FfMacSchedSapUserm_schedSapUser
 the Sched SAP user
 
uint32_t m_subframeNo
 subframe number of current subframe indication
 
std::vector< MacCeListElement_sm_ulCeReceived
 CE received (BSR up to now)
 
std::vector< FfMacSchedSapProvider::SchedUlCqiInfoReqParametersm_ulCqiReceived
 UL-CQI received.
 
std::vector< UlInfoListElement_sm_ulInfoListReceived
 UL HARQ feedback received.
 
TracedCallback< uint32_t, uint32_t, uint16_t, uint8_t, uint16_t, uint8_t > m_ulScheduling
 Trace information regarding UL scheduling Frame number, Subframe number, RNTI, MCS of TB, size of TB, component carrier id.
 

Friends

class EnbMacMemberFfMacCschedSapUser
 allow EnbMacMemberFfMacCschedSapUser class friend access
 
class EnbMacMemberFfMacSchedSapUser
 allow EnbMacMemberFfMacSchedSapUser class friend access
 
class EnbMacMemberLteEnbCmacSapProvider
 allow EnbMacMemberLteEnbCmacSapProvider class friend access
 
class EnbMacMemberLteEnbPhySapUser
 allow EnbMacMemberLteEnbPhySapUser class friend access
 
class EnbMacMemberLteMacSapProvider< LteEnbMac >
 allow EnbMacMemberLteMacSapProvider<LteEnbMac> class friend access
 
class MemberLteCcmMacSapProvider< LteEnbMac >
 allow MemberLteCcmMacSapProvider<LteEnbMac> class friend access
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object.
 
virtual void DoInitialize ()
 Initialize() implementation.
 
virtual void NotifyNewAggregate ()
 Notify all Objects aggregated to this one of a new Object being aggregated.
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Detailed Description

This class implements the MAC layer of the eNodeB device.

Definition at line 46 of file lte-enb-mac.h.

Member Typedef Documentation

◆ DlSchedulingTracedCallback

typedef void(* ns3::LteEnbMac::DlSchedulingTracedCallback) (const uint32_t frame, const uint32_t subframe, const uint16_t rnti, const uint8_t mcs0, const uint16_t tbs0Size, const uint8_t mcs1, const uint16_t tbs1Size, const uint8_t ccId)

TracedCallback signature for DL scheduling events.

Parameters
[in]frameFrame number.
[in]subframeSubframe number.
[in]rntiThe C-RNTI identifying the UE.
[in]mcs0The MCS for transport block..
[in]tbs0Size
[in]mcs1The MCS for transport block.
[in]tbs1Size
[in]componentcarrier id

Definition at line 155 of file lte-enb-mac.h.

◆ UlSchedulingTracedCallback

typedef void(* ns3::LteEnbMac::UlSchedulingTracedCallback) (const uint32_t frame, const uint32_t subframe, const uint16_t rnti, const uint8_t mcs, const uint16_t tbsSize)

TracedCallback signature for UL scheduling events.

Parameters
[in]frameFrame number.
[in]subframeSubframe number.
[in]rntiThe C-RNTI identifying the UE.
[in]mcsThe MCS for transport block
[in]tbsSize

Definition at line 173 of file lte-enb-mac.h.

Constructor & Destructor Documentation

◆ LteEnbMac()

◆ ~LteEnbMac()

ns3::LteEnbMac::~LteEnbMac ( )
override

Definition at line 363 of file lte-enb-mac.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ DoAddLc()

void ns3::LteEnbMac::DoAddLc ( LteEnbCmacSapProvider::LcInfo lcinfo,
LteMacSapUser * msu )
private

◆ DoAddUe()

void ns3::LteEnbMac::DoAddUe ( uint16_t rnti)
private

Add UE function.

Parameters
rntithe RNTI

Definition at line 773 of file lte-enb-mac.cc.

References ns3::CreateObject(), ns3::FfMacCschedSapProvider::CschedUeConfigReq(), m_cschedSapProvider, m_miDlHarqProcessesPackets, m_rlcAttached, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::AddUe().

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

◆ DoAllocateNcRaPreamble()

LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue ns3::LteEnbMac::DoAllocateNcRaPreamble ( uint16_t rnti)
private

Allocate NC RA preamble function.

Parameters
rntithe RNTI
Returns
LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue

Allocate preamble only if its free. The non-contention preamble assigned to UE during handover or PDCCH order is valid only until the time duration of the “expiryTime” of the preamble is reached. This timer value is only maintained at the eNodeB and the UE has no way of knowing if this timer has expired. If the UE tries to send the preamble again after the expiryTime and the preamble is re-assigned to another UE, it results in errors. This has been solved by re-assigning the preamble to another UE only if it is not being used (An UE can be using the preamble even after the expiryTime duration).

Definition at line 946 of file lte-enb-mac.cc.

References ns3::LteEnbMac::NcRaPreambleInfo::expiryTime, ns3::LteEnbCmacSapUser::IsRandomAccessCompleted(), m_allocatedNcRaPreambleMap, m_cmacSapUser, m_numberOfRaPreambles, m_preambleTransMax, m_raResponseWindowSize, ns3::MilliSeconds(), ns3::Simulator::Now(), NS_LOG_INFO, ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPrachMaskIndex, ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPreambleId, ns3::LteEnbMac::NcRaPreambleInfo::rnti, and ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::valid.

Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::AllocateNcRaPreamble().

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

◆ DoConfigureMac()

void ns3::LteEnbMac::DoConfigureMac ( uint16_t ulBandwidth,
uint16_t dlBandwidth )
private

Configure MAC function.

Parameters
ulBandwidththe UL bandwidth
dlBandwidththe DL bandwidth

Definition at line 760 of file lte-enb-mac.cc.

References ns3::FfMacCschedSapProvider::CschedCellConfigReq(), ns3::LteEnbPhySapProvider::GetMacChTtiDelay(), m_cschedSapProvider, m_enbPhySapProvider, m_macChTtiDelay, and NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::ConfigureMac().

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

◆ DoCschedCellConfigCnf()

void ns3::LteEnbMac::DoCschedCellConfigCnf ( FfMacCschedSapUser::CschedCellConfigCnfParameters params)
private

CSched Cell Config configure function.

Parameters
paramsFfMacCschedSapUser::CschedCellConfigCnfParameters

Definition at line 1223 of file lte-enb-mac.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedCellConfigCnf().

+ Here is the caller graph for this function:

◆ DoCschedCellConfigUpdateInd()

void ns3::LteEnbMac::DoCschedCellConfigUpdateInd ( FfMacCschedSapUser::CschedCellConfigUpdateIndParameters params)
private

CSched Cell Config Update Indication function.

Parameters
paramsFfMacCschedSapUser::CschedCellConfigUpdateIndParameters

Definition at line 1266 of file lte-enb-mac.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedCellConfigUpdateInd().

+ Here is the caller graph for this function:

◆ DoCschedLcConfigCnf()

void ns3::LteEnbMac::DoCschedLcConfigCnf ( FfMacCschedSapUser::CschedLcConfigCnfParameters params)
private

CSched LC Config configure function.

Parameters
paramsFfMacCschedSapUser::CschedLcConfigCnfParameters

Definition at line 1235 of file lte-enb-mac.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedLcConfigCnf().

+ Here is the caller graph for this function:

◆ DoCschedLcReleaseCnf()

void ns3::LteEnbMac::DoCschedLcReleaseCnf ( FfMacCschedSapUser::CschedLcReleaseCnfParameters params)
private

CSched LC Release configure function.

Parameters
paramsFfMacCschedSapUser::CschedLcReleaseCnfParameters

Definition at line 1243 of file lte-enb-mac.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedLcReleaseCnf().

+ Here is the caller graph for this function:

◆ DoCschedUeConfigCnf()

void ns3::LteEnbMac::DoCschedUeConfigCnf ( FfMacCschedSapUser::CschedUeConfigCnfParameters params)
private

CSched UE Config configure function.

Parameters
paramsFfMacCschedSapUser::CschedUeConfigCnfParameters

Definition at line 1229 of file lte-enb-mac.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedUeConfigCnf().

+ Here is the caller graph for this function:

◆ DoCschedUeConfigUpdateInd()

void ns3::LteEnbMac::DoCschedUeConfigUpdateInd ( FfMacCschedSapUser::CschedUeConfigUpdateIndParameters params)
private

CSched UE Config Update Indication function.

Parameters
paramsFfMacCschedSapUser::CschedUeConfigUpdateIndParameters

Definition at line 1255 of file lte-enb-mac.cc.

References m_cmacSapUser, ns3::LteEnbCmacSapUser::UeConfig::m_rnti, ns3::LteEnbCmacSapUser::UeConfig::m_transmissionMode, NS_LOG_FUNCTION, and ns3::LteEnbCmacSapUser::RrcConfigurationUpdateInd().

Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedUeConfigUpdateInd().

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

◆ DoCschedUeReleaseCnf()

void ns3::LteEnbMac::DoCschedUeReleaseCnf ( FfMacCschedSapUser::CschedUeReleaseCnfParameters params)
private

CSched UE Release configure function.

Parameters
paramsFfMacCschedSapUser::CschedUeReleaseCnfParameters

Definition at line 1249 of file lte-enb-mac.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedUeReleaseCnf().

+ Here is the caller graph for this function:

◆ DoDispose()

void ns3::LteEnbMac::DoDispose ( )
overridevirtual

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::Object.

Definition at line 369 of file lte-enb-mac.cc.

References m_ccmMacSapProvider, m_cmacSapProvider, m_cschedSapUser, m_dlCqiReceived, m_dlInfoListReceived, m_enbPhySapUser, m_macSapProvider, m_miDlHarqProcessesPackets, m_schedSapUser, m_ulCeReceived, m_ulCqiReceived, m_ulInfoListReceived, and NS_LOG_FUNCTION.

◆ DoDlInfoListElementHarqFeedback()

void ns3::LteEnbMac::DoDlInfoListElementHarqFeedback ( DlInfoListElement_s params)
private

DL Info List Elements HARQ Feedback function.

Parameters
paramsDlInfoListElement_s

Definition at line 1280 of file lte-enb-mac.cc.

References ns3::DlInfoListElement_s::ACK, ns3::CreateObject(), m_dlInfoListReceived, m_miDlHarqProcessesPackets, ns3::DlInfoListElement_s::NACK, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberLteEnbPhySapUser::DlInfoListElementHarqFeedback(), and DoReceiveLteControlMessage().

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

◆ DoGetRachConfig()

LteEnbCmacSapProvider::RachConfig ns3::LteEnbMac::DoGetRachConfig ( ) const
private

Get RACH configuration function.

Returns
LteEnbCmacSapProvider::RachConfig

Definition at line 935 of file lte-enb-mac.cc.

References m_connEstFailCount, m_numberOfRaPreambles, m_preambleTransMax, and m_raResponseWindowSize.

Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::GetRachConfig().

+ Here is the caller graph for this function:

◆ DoReceiveLteControlMessage()

void ns3::LteEnbMac::DoReceiveLteControlMessage ( Ptr< LteControlMessage > msg)
private

Receive a DL CQI ideal control message.

Parameters
msgthe DL CQI message

Definition at line 620 of file lte-enb-mac.cc.

References ns3::LteControlMessage::BSR, ns3::LteControlMessage::DL_CQI, ns3::LteControlMessage::DL_HARQ, DoDlInfoListElementHarqFeedback(), ns3::DynamicCast(), NS_LOG_FUNCTION, NS_LOG_LOGIC, ReceiveBsrMessage(), and ReceiveDlCqiLteControlMessage().

Referenced by ns3::EnbMacMemberLteEnbPhySapUser::ReceiveLteControlMessage().

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

◆ DoReceivePhyPdu()

void ns3::LteEnbMac::DoReceivePhyPdu ( Ptr< Packet > p)

legacy public for use the Phy callback

Parameters
ppacket

Definition at line 698 of file lte-enb-mac.cc.

References ns3::LteRadioBearerTag::GetLcid(), ns3::LteRadioBearerTag::GetRnti(), ns3::LteMacSapUser::ReceivePduParameters::lcid, m_rlcAttached, NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::LteMacSapUser::ReceivePduParameters::p, and ns3::LteMacSapUser::ReceivePduParameters::rnti.

Referenced by ns3::EnbMacMemberLteEnbPhySapUser::ReceivePhyPdu().

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

◆ DoReceiveRachPreamble()

void ns3::LteEnbMac::DoReceiveRachPreamble ( uint8_t prachId)
private

Receive RACH Preamble function.

Parameters
prachIdPRACH ID number

Definition at line 647 of file lte-enb-mac.cc.

References m_receivedRachPreambleCount, and NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberLteEnbPhySapUser::ReceiveRachPreamble().

+ Here is the caller graph for this function:

◆ DoReconfigureLc()

void ns3::LteEnbMac::DoReconfigureLc ( LteEnbCmacSapProvider::LcInfo lcinfo)
private

Reconfigure LC function.

Parameters
lcinfothe LC info

Definition at line 901 of file lte-enb-mac.cc.

References NS_FATAL_ERROR.

Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::ReconfigureLc().

+ Here is the caller graph for this function:

◆ DoReleaseLc()

void ns3::LteEnbMac::DoReleaseLc ( uint16_t rnti,
uint8_t lcid )
private

Release LC function.

Parameters
rntithe RNTI
lcidthe LCID

Definition at line 907 of file lte-enb-mac.cc.

References ns3::FfMacCschedSapProvider::CschedLcReleaseReq(), m_cschedSapProvider, m_rlcAttached, and NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::ReleaseLc().

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

◆ DoRemoveUe()

void ns3::LteEnbMac::DoRemoveUe ( uint16_t rnti)
private

Remove UE function.

Parameters
rntithe RNTI

Definition at line 810 of file lte-enb-mac.cc.

References ns3::FfMacCschedSapProvider::CschedUeReleaseReq(), m_allocatedNcRaPreambleMap, m_cschedSapProvider, m_miDlHarqProcessesPackets, m_receivedRachPreambleCount, m_rlcAttached, m_ulCeReceived, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::RemoveUe().

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

◆ DoReportBufferStatus()

◆ DoReportMacCeToScheduler()

void ns3::LteEnbMac::DoReportMacCeToScheduler ( MacCeListElement_s bsr)
private

Report MAC CE to scheduler.

Parameters
bsrthe BSR

Definition at line 687 of file lte-enb-mac.cc.

References m_ulCeReceived, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

◆ DoReportSrToScheduler()

void ns3::LteEnbMac::DoReportSrToScheduler ( uint16_t rnti)
inlineprivate

Report SR to scheduler.

Parameters
rntiRNTI of the UE that requested the SR

Since SR is not implemented in LTE, this method does nothing.

Definition at line 343 of file lte-enb-mac.h.

◆ DoSchedDlConfigInd()

void ns3::LteEnbMac::DoSchedDlConfigInd ( FfMacSchedSapUser::SchedDlConfigIndParameters ind)
private

Sched DL Config Indication function.

Parameters
indFfMacSchedSapUser::SchedDlConfigIndParameters

Definition at line 1048 of file lte-enb-mac.cc.

References ns3::LteMacSapUser::TxOpportunityParameters::bytes, ns3::DlSchedulingCallbackInfo::componentCarrierId, ns3::LteMacSapUser::TxOpportunityParameters::componentCarrierId, ns3::Create(), ns3::CreateObject(), ns3::DlSchedulingCallbackInfo::frameNo, ns3::LteMacSapUser::TxOpportunityParameters::harqId, ns3::LteMacSapUser::TxOpportunityParameters::layer, ns3::LteMacSapUser::TxOpportunityParameters::lcid, ns3::FfMacSchedSapUser::SchedDlConfigIndParameters::m_buildDataList, ns3::FfMacSchedSapUser::SchedDlConfigIndParameters::m_buildRarList, m_componentCarrierId, m_dlScheduling, m_enbPhySapProvider, m_frameNo, m_miDlHarqProcessesPackets, m_rapIdRntiMap, m_rlcAttached, m_subframeNo, ns3::DlSchedulingCallbackInfo::mcsTb1, ns3::DlSchedulingCallbackInfo::mcsTb2, NS_ASSERT, NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::RarLteControlMessage::Rar::rapId, ns3::RarLteControlMessage::Rar::rarPayload, ns3::DlSchedulingCallbackInfo::rnti, ns3::LteMacSapUser::TxOpportunityParameters::rnti, ns3::LteEnbPhySapProvider::SendLteControlMessage(), ns3::LteEnbPhySapProvider::SendMacPdu(), ns3::DlSchedulingCallbackInfo::sizeTb1, ns3::DlSchedulingCallbackInfo::sizeTb2, and ns3::DlSchedulingCallbackInfo::subframeNo.

Referenced by ns3::EnbMacMemberFfMacSchedSapUser::SchedDlConfigInd().

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

◆ DoSchedUlConfigInd()

void ns3::LteEnbMac::DoSchedUlConfigInd ( FfMacSchedSapUser::SchedUlConfigIndParameters params)
private

Sched UL Config Indication function.

Parameters
paramsFfMacSchedSapUser::SchedUlConfigIndParameters

Definition at line 1194 of file lte-enb-mac.cc.

References ns3::Create(), m_componentCarrierId, ns3::FfMacSchedSapUser::SchedUlConfigIndParameters::m_dciList, m_enbPhySapProvider, m_frameNo, m_subframeNo, m_ulScheduling, NS_LOG_FUNCTION, and ns3::LteEnbPhySapProvider::SendLteControlMessage().

Referenced by ns3::EnbMacMemberFfMacSchedSapUser::SchedUlConfigInd().

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

◆ DoSubframeIndication()

void ns3::LteEnbMac::DoSubframeIndication ( uint32_t frameNo,
uint32_t subframeNo )
private

Subrame Indication function.

Parameters
frameNoframe number
subframeNosubframe number

Definition at line 465 of file lte-enb-mac.cc.

References ns3::LteEnbCmacSapUser::AllocateTemporaryCellRnti(), m_allocatedNcRaPreambleMap, m_cmacSapUser, ns3::FfMacSchedSapProvider::SchedDlCqiInfoReqParameters::m_cqiList, m_dlCqiReceived, ns3::FfMacSchedSapProvider::SchedDlTriggerReqParameters::m_dlInfoList, m_dlInfoListReceived, ns3::RachListElement_s::m_estimatedSize, m_frameNo, ns3::FfMacSchedSapProvider::SchedUlMacCtrlInfoReqParameters::m_macCeList, m_macChTtiDelay, ns3::FfMacSchedSapProvider::SchedDlRachInfoReqParameters::m_rachList, m_rapIdRntiMap, m_receivedRachPreambleCount, ns3::RachListElement_s::m_rnti, m_schedSapProvider, ns3::FfMacSchedSapProvider::SchedDlCqiInfoReqParameters::m_sfnSf, ns3::FfMacSchedSapProvider::SchedDlTriggerReqParameters::m_sfnSf, ns3::FfMacSchedSapProvider::SchedUlMacCtrlInfoReqParameters::m_sfnSf, ns3::FfMacSchedSapProvider::SchedUlTriggerReqParameters::m_sfnSf, m_subframeNo, m_ulCeReceived, m_ulCqiReceived, ns3::FfMacSchedSapProvider::SchedUlTriggerReqParameters::m_ulInfoList, m_ulInfoListReceived, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::FfMacSchedSapProvider::SchedDlCqiInfoReq(), ns3::FfMacSchedSapProvider::SchedDlRachInfoReq(), ns3::FfMacSchedSapProvider::SchedDlTriggerReq(), ns3::FfMacSchedSapProvider::SchedUlCqiInfoReq(), ns3::FfMacSchedSapProvider::SchedUlMacCtrlInfoReq(), ns3::FfMacSchedSapProvider::SchedUlTriggerReq(), and UL_PUSCH_TTIS_DELAY.

Referenced by ns3::EnbMacMemberLteEnbPhySapUser::SubframeIndication().

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

◆ DoTransmitPdu()

void ns3::LteEnbMac::DoTransmitPdu ( LteMacSapProvider::TransmitPduParameters params)
private

Transmit PDU function.

Parameters
paramsLteMacSapProvider::TransmitPduParameters

Definition at line 1011 of file lte-enb-mac.cc.

References ns3::LteRadioBearerTag::GetLayer(), m_componentCarrierId, m_enbPhySapProvider, m_miDlHarqProcessesPackets, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::LteEnbPhySapProvider::SendMacPdu().

+ Here is the call graph for this function:

◆ DoUeUpdateConfigurationReq()

void ns3::LteEnbMac::DoUeUpdateConfigurationReq ( LteEnbCmacSapProvider::UeConfig params)
private

UE Update configuration request function.

Parameters
paramsLteEnbCmacSapProvider::UeConfig

Definition at line 922 of file lte-enb-mac.cc.

References ns3::FfMacCschedSapProvider::CschedUeConfigReq(), m_cschedSapProvider, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_reconfigureFlag, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_rnti, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_transmissionMode, and NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::UeUpdateConfigurationReq().

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

◆ DoUlCqiReport()

void ns3::LteEnbMac::DoUlCqiReport ( FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ulcqi)
private

UL CQI report.

Parameters
ulcqiFfMacSchedSapProvider::SchedUlCqiInfoReqParameters

Definition at line 655 of file lte-enb-mac.cc.

References ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_ulCqi, m_ulCqiReceived, NS_LOG_DEBUG, ns3::UlCqi_s::PUSCH, and ns3::UlCqi_s::SRS.

Referenced by ns3::EnbMacMemberLteEnbPhySapUser::UlCqiReport().

+ Here is the caller graph for this function:

◆ DoUlInfoListElementHarqFeedback()

void ns3::LteEnbMac::DoUlInfoListElementHarqFeedback ( UlInfoListElement_s params)
private

UL Info List Elements HARQ Feedback function.

Parameters
paramsUlInfoListElement_s

Definition at line 1273 of file lte-enb-mac.cc.

References m_ulInfoListReceived, and NS_LOG_FUNCTION.

Referenced by ns3::EnbMacMemberLteEnbPhySapUser::UlInfoListElementHarqFeedback().

+ Here is the caller graph for this function:

◆ GetFfMacCschedSapUser()

FfMacCschedSapUser * ns3::LteEnbMac::GetFfMacCschedSapUser ( )

Get the control scheduler SAP user.

Returns
a pointer to the control scheduler SAP user

Definition at line 411 of file lte-enb-mac.cc.

References m_cschedSapUser.

◆ GetFfMacSchedSapUser()

FfMacSchedSapUser * ns3::LteEnbMac::GetFfMacSchedSapUser ( )

Get the scheduler SAP user.

Returns
a pointer to the SAP user of the scheduler

Definition at line 399 of file lte-enb-mac.cc.

References m_schedSapUser.

◆ GetLteCcmMacSapProvider()

LteCcmMacSapProvider * ns3::LteEnbMac::GetLteCcmMacSapProvider ( )

Get the eNB-ComponentCarrierManager SAP User.

Returns
a pointer to the SAP User of the ComponentCarrierManager

Definition at line 459 of file lte-enb-mac.cc.

References m_ccmMacSapProvider.

◆ GetLteEnbCmacSapProvider()

LteEnbCmacSapProvider * ns3::LteEnbMac::GetLteEnbCmacSapProvider ( )

Get the control MAC SAP provider.

Returns
a pointer to the control MAC SAP provider

Definition at line 435 of file lte-enb-mac.cc.

References m_cmacSapProvider.

◆ GetLteEnbPhySapUser()

LteEnbPhySapUser * ns3::LteEnbMac::GetLteEnbPhySapUser ( )

Get the eNB-PHY SAP User.

Returns
a pointer to the SAP User of the PHY

Definition at line 447 of file lte-enb-mac.cc.

References m_enbPhySapUser.

◆ GetLteMacSapProvider()

LteMacSapProvider * ns3::LteEnbMac::GetLteMacSapProvider ( )

Get the MAC SAP provider.

Returns
a pointer to the SAP provider of the MAC

Definition at line 423 of file lte-enb-mac.cc.

References m_macSapProvider.

◆ GetTypeId()

TypeId ns3::LteEnbMac::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 305 of file lte-enb-mac.cc.

References m_componentCarrierId, m_connEstFailCount, m_dlScheduling, m_numberOfRaPreambles, m_preambleTransMax, m_raResponseWindowSize, m_ulScheduling, ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), ns3::MakeUintegerChecker(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

◆ ReceiveBsrMessage()

void ns3::LteEnbMac::ReceiveBsrMessage ( MacCeListElement_s bsr)
private

Receive a CE element containing the buffer status report.

Parameters
bsrthe BSR message

Definition at line 680 of file lte-enb-mac.cc.

References m_ccmMacSapUser, m_componentCarrierId, NS_LOG_FUNCTION, and ns3::LteCcmMacSapUser::UlReceiveMacCe().

Referenced by DoReceiveLteControlMessage().

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

◆ ReceiveDlCqiLteControlMessage()

void ns3::LteEnbMac::ReceiveDlCqiLteControlMessage ( Ptr< DlCqiLteControlMessage > msg)
private

Receive a DL CQI ideal control message.

Parameters
msgthe DL CQI message

Definition at line 669 of file lte-enb-mac.cc.

References m_dlCqiReceived, ns3::CqiListElement_s::m_rnti, NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by DoReceiveLteControlMessage().

+ Here is the caller graph for this function:

◆ SetComponentCarrierId()

void ns3::LteEnbMac::SetComponentCarrierId ( uint8_t index)

Set the component carrier ID.

Parameters
indexthe component carrier ID

Definition at line 387 of file lte-enb-mac.cc.

References m_componentCarrierId.

◆ SetFfMacCschedSapProvider()

void ns3::LteEnbMac::SetFfMacCschedSapProvider ( FfMacCschedSapProvider * s)

Set the control scheduler SAP provider.

Parameters
sa pointer to the control scheduler SAP provider

Definition at line 405 of file lte-enb-mac.cc.

References m_cschedSapProvider.

◆ SetFfMacSchedSapProvider()

void ns3::LteEnbMac::SetFfMacSchedSapProvider ( FfMacSchedSapProvider * s)

Set the scheduler SAP provider.

Parameters
sa pointer SAP provider of the FF packet scheduler

Definition at line 393 of file lte-enb-mac.cc.

References m_schedSapProvider.

◆ SetLteCcmMacSapUser()

void ns3::LteEnbMac::SetLteCcmMacSapUser ( LteCcmMacSapUser * s)

Set the ComponentCarrierManager SAP user.

Parameters
sa pointer to the ComponentCarrierManager provider

Definition at line 453 of file lte-enb-mac.cc.

References m_ccmMacSapUser.

◆ SetLteEnbCmacSapUser()

void ns3::LteEnbMac::SetLteEnbCmacSapUser ( LteEnbCmacSapUser * s)

Set the control MAC SAP user.

Parameters
sa pointer to the control MAC SAP user

Definition at line 429 of file lte-enb-mac.cc.

References m_cmacSapUser.

◆ SetLteEnbPhySapProvider()

void ns3::LteEnbMac::SetLteEnbPhySapProvider ( LteEnbPhySapProvider * s)

Set the PHY SAP Provider.

Parameters
sa pointer to the PHY SAP provider

Definition at line 441 of file lte-enb-mac.cc.

References m_enbPhySapProvider.

◆ SetLteMacSapUser()

void ns3::LteEnbMac::SetLteMacSapUser ( LteMacSapUser * s)

Set the MAC SAP user.

Parameters
sa pointer to the MAC SAP user

Definition at line 417 of file lte-enb-mac.cc.

References m_macSapUser.

Friends And Related Symbol Documentation

◆ EnbMacMemberFfMacCschedSapUser

friend class EnbMacMemberFfMacCschedSapUser
friend

allow EnbMacMemberFfMacCschedSapUser class friend access

Definition at line 55 of file lte-enb-mac.h.

Referenced by LteEnbMac().

◆ EnbMacMemberFfMacSchedSapUser

friend class EnbMacMemberFfMacSchedSapUser
friend

allow EnbMacMemberFfMacSchedSapUser class friend access

Definition at line 53 of file lte-enb-mac.h.

Referenced by LteEnbMac().

◆ EnbMacMemberLteEnbCmacSapProvider

friend class EnbMacMemberLteEnbCmacSapProvider
friend

allow EnbMacMemberLteEnbCmacSapProvider class friend access

Definition at line 49 of file lte-enb-mac.h.

Referenced by LteEnbMac().

◆ EnbMacMemberLteEnbPhySapUser

friend class EnbMacMemberLteEnbPhySapUser
friend

allow EnbMacMemberLteEnbPhySapUser class friend access

Definition at line 57 of file lte-enb-mac.h.

Referenced by LteEnbMac().

◆ EnbMacMemberLteMacSapProvider< LteEnbMac >

friend class EnbMacMemberLteMacSapProvider< LteEnbMac >
friend

allow EnbMacMemberLteMacSapProvider<LteEnbMac> class friend access

Definition at line 49 of file lte-enb-mac.h.

Referenced by LteEnbMac().

◆ MemberLteCcmMacSapProvider< LteEnbMac >

friend class MemberLteCcmMacSapProvider< LteEnbMac >
friend

allow MemberLteCcmMacSapProvider<LteEnbMac> class friend access

Definition at line 57 of file lte-enb-mac.h.

Referenced by LteEnbMac().

Member Data Documentation

◆ m_allocatedNcRaPreambleMap

std::map<uint8_t, NcRaPreambleInfo> ns3::LteEnbMac::m_allocatedNcRaPreambleMap
private

map storing as key the random access preamble IDs allocated for non-contention based access, and as value the associated info

Definition at line 447 of file lte-enb-mac.h.

Referenced by DoAllocateNcRaPreamble(), DoRemoveUe(), and DoSubframeIndication().

◆ m_ccmMacSapProvider

LteCcmMacSapProvider* ns3::LteEnbMac::m_ccmMacSapProvider
private

CCM MAC SAP provider.

Definition at line 398 of file lte-enb-mac.h.

Referenced by LteEnbMac(), DoDispose(), and GetLteCcmMacSapProvider().

◆ m_ccmMacSapUser

LteCcmMacSapUser* ns3::LteEnbMac::m_ccmMacSapUser
private

CCM MAC SAP user.

Definition at line 399 of file lte-enb-mac.h.

Referenced by ReceiveBsrMessage(), and SetLteCcmMacSapUser().

◆ m_cmacSapProvider

LteEnbCmacSapProvider* ns3::LteEnbMac::m_cmacSapProvider
private

the CMAC SAP provider

Definition at line 384 of file lte-enb-mac.h.

Referenced by LteEnbMac(), DoDispose(), and GetLteEnbCmacSapProvider().

◆ m_cmacSapUser

LteEnbCmacSapUser* ns3::LteEnbMac::m_cmacSapUser
private

the CMAC SAP user

Definition at line 386 of file lte-enb-mac.h.

Referenced by DoAllocateNcRaPreamble(), DoCschedUeConfigUpdateInd(), DoSubframeIndication(), and SetLteEnbCmacSapUser().

◆ m_componentCarrierId

uint8_t ns3::LteEnbMac::m_componentCarrierId
private

component carrier Id used to address sap

Definition at line 454 of file lte-enb-mac.h.

Referenced by DoSchedDlConfigInd(), DoSchedUlConfigInd(), DoTransmitPdu(), GetTypeId(), ReceiveBsrMessage(), and SetComponentCarrierId().

◆ m_connEstFailCount

uint8_t ns3::LteEnbMac::m_connEstFailCount
private

the counter value for T300 timer expiration

Definition at line 429 of file lte-enb-mac.h.

Referenced by DoGetRachConfig(), and GetTypeId().

◆ m_cschedSapProvider

FfMacCschedSapProvider* ns3::LteEnbMac::m_cschedSapProvider
private

the Csched SAP provider

Definition at line 389 of file lte-enb-mac.h.

Referenced by DoAddLc(), DoAddUe(), DoConfigureMac(), DoReleaseLc(), DoRemoveUe(), DoUeUpdateConfigurationReq(), and SetFfMacCschedSapProvider().

◆ m_cschedSapUser

FfMacCschedSapUser* ns3::LteEnbMac::m_cschedSapUser
private

the CSched SAP user

Definition at line 391 of file lte-enb-mac.h.

Referenced by LteEnbMac(), DoDispose(), and GetFfMacCschedSapUser().

◆ m_dlCqiReceived

std::vector<CqiListElement_s> ns3::LteEnbMac::m_dlCqiReceived
private

DL-CQI received.

Definition at line 369 of file lte-enb-mac.h.

Referenced by DoDispose(), DoSubframeIndication(), and ReceiveDlCqiLteControlMessage().

◆ m_dlInfoListReceived

std::vector<DlInfoListElement_s> ns3::LteEnbMac::m_dlInfoListReceived
private

DL HARQ feedback received.

Definition at line 374 of file lte-enb-mac.h.

Referenced by DoDispose(), DoDlInfoListElementHarqFeedback(), and DoSubframeIndication().

◆ m_dlScheduling

TracedCallback<DlSchedulingCallbackInfo> ns3::LteEnbMac::m_dlScheduling
private

Trace information regarding DL scheduling Frame number, Subframe number, RNTI, MCS of TB1, size of TB1, MCS of TB2 (0 if not present), size of TB2 (0 if not present)

Definition at line 413 of file lte-enb-mac.h.

Referenced by DoSchedDlConfigInd(), and GetTypeId().

◆ m_enbPhySapProvider

LteEnbPhySapProvider* ns3::LteEnbMac::m_enbPhySapProvider
private

the ENB Phy SAP provider

Definition at line 394 of file lte-enb-mac.h.

Referenced by DoConfigureMac(), DoSchedDlConfigInd(), DoSchedUlConfigInd(), DoTransmitPdu(), and SetLteEnbPhySapProvider().

◆ m_enbPhySapUser

LteEnbPhySapUser* ns3::LteEnbMac::m_enbPhySapUser
private

the ENB Phy SAP user

Definition at line 395 of file lte-enb-mac.h.

Referenced by LteEnbMac(), DoDispose(), and GetLteEnbPhySapUser().

◆ m_frameNo

uint32_t ns3::LteEnbMac::m_frameNo
private

frame number of current subframe indication

Definition at line 403 of file lte-enb-mac.h.

Referenced by DoSchedDlConfigInd(), DoSchedUlConfigInd(), and DoSubframeIndication().

◆ m_macChTtiDelay

uint8_t ns3::LteEnbMac::m_macChTtiDelay
private

delay of MAC, PHY and channel in terms of TTIs

Definition at line 421 of file lte-enb-mac.h.

Referenced by DoConfigureMac(), and DoSubframeIndication().

◆ m_macSapProvider

LteMacSapProvider* ns3::LteEnbMac::m_macSapProvider
private

the MAC SAP provider

Definition at line 383 of file lte-enb-mac.h.

Referenced by LteEnbMac(), DoDispose(), and GetLteMacSapProvider().

◆ m_macSapUser

LteMacSapUser* ns3::LteEnbMac::m_macSapUser
private

the MAC SAP user

Definition at line 385 of file lte-enb-mac.h.

Referenced by SetLteMacSapUser().

◆ m_miDlHarqProcessesPackets

std::map<uint16_t, DlHarqProcessesBuffer_t> ns3::LteEnbMac::m_miDlHarqProcessesPackets
private

Packet under transmission of the DL HARQ process.

Definition at line 424 of file lte-enb-mac.h.

Referenced by DoAddUe(), DoDispose(), DoDlInfoListElementHarqFeedback(), DoRemoveUe(), DoSchedDlConfigInd(), and DoTransmitPdu().

◆ m_numberOfRaPreambles

uint8_t ns3::LteEnbMac::m_numberOfRaPreambles
private

number of RA preambles

Definition at line 426 of file lte-enb-mac.h.

Referenced by DoAllocateNcRaPreamble(), DoGetRachConfig(), and GetTypeId().

◆ m_preambleTransMax

uint8_t ns3::LteEnbMac::m_preambleTransMax
private

preamble transmit maximum

Definition at line 427 of file lte-enb-mac.h.

Referenced by DoAllocateNcRaPreamble(), DoGetRachConfig(), and GetTypeId().

◆ m_rapIdRntiMap

std::map<uint16_t, uint32_t> ns3::LteEnbMac::m_rapIdRntiMap
private

RAPID RNTI map.

Definition at line 451 of file lte-enb-mac.h.

Referenced by DoSchedDlConfigInd(), and DoSubframeIndication().

◆ m_raResponseWindowSize

uint8_t ns3::LteEnbMac::m_raResponseWindowSize
private

RA response window size.

Definition at line 428 of file lte-enb-mac.h.

Referenced by DoAllocateNcRaPreamble(), DoGetRachConfig(), and GetTypeId().

◆ m_receivedRachPreambleCount

std::map<uint8_t, uint32_t> ns3::LteEnbMac::m_receivedRachPreambleCount
private

received RACH preamble count

Definition at line 449 of file lte-enb-mac.h.

Referenced by DoReceiveRachPreamble(), DoRemoveUe(), and DoSubframeIndication().

◆ m_rlcAttached

std::map<uint16_t, std::map<uint8_t, LteMacSapUser*> > ns3::LteEnbMac::m_rlcAttached
private

RNTI, LC ID, SAP of the RLC instance.

Definition at line 367 of file lte-enb-mac.h.

Referenced by DoAddLc(), DoAddUe(), DoReceivePhyPdu(), DoReleaseLc(), DoRemoveUe(), and DoSchedDlConfigInd().

◆ m_schedSapProvider

FfMacSchedSapProvider* ns3::LteEnbMac::m_schedSapProvider
private

the Sched SAP provider

Definition at line 388 of file lte-enb-mac.h.

Referenced by DoReportBufferStatus(), DoSubframeIndication(), and SetFfMacSchedSapProvider().

◆ m_schedSapUser

FfMacSchedSapUser* ns3::LteEnbMac::m_schedSapUser
private

the Sched SAP user

Definition at line 390 of file lte-enb-mac.h.

Referenced by LteEnbMac(), DoDispose(), and GetFfMacSchedSapUser().

◆ m_subframeNo

uint32_t ns3::LteEnbMac::m_subframeNo
private

subframe number of current subframe indication

Definition at line 407 of file lte-enb-mac.h.

Referenced by DoSchedDlConfigInd(), DoSchedUlConfigInd(), and DoSubframeIndication().

◆ m_ulCeReceived

std::vector<MacCeListElement_s> ns3::LteEnbMac::m_ulCeReceived
private

CE received (BSR up to now)

Definition at line 372 of file lte-enb-mac.h.

Referenced by DoDispose(), DoRemoveUe(), DoReportMacCeToScheduler(), and DoSubframeIndication().

◆ m_ulCqiReceived

std::vector<FfMacSchedSapProvider::SchedUlCqiInfoReqParameters> ns3::LteEnbMac::m_ulCqiReceived
private

UL-CQI received.

Definition at line 371 of file lte-enb-mac.h.

Referenced by DoDispose(), DoSubframeIndication(), and DoUlCqiReport().

◆ m_ulInfoListReceived

std::vector<UlInfoListElement_s> ns3::LteEnbMac::m_ulInfoListReceived
private

UL HARQ feedback received.

Definition at line 376 of file lte-enb-mac.h.

Referenced by DoDispose(), DoSubframeIndication(), and DoUlInfoListElementHarqFeedback().

◆ m_ulScheduling

TracedCallback<uint32_t, uint32_t, uint16_t, uint8_t, uint16_t, uint8_t> ns3::LteEnbMac::m_ulScheduling
private

Trace information regarding UL scheduling Frame number, Subframe number, RNTI, MCS of TB, size of TB, component carrier id.

Definition at line 419 of file lte-enb-mac.h.

Referenced by DoSchedUlConfigInd(), and GetTypeId().


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