This class implements the MAC layer of the eNodeB device. More...
#include "lte-enb-mac.h"
Classes | |
struct | NcRaPreambleInfo |
info associated with a preamble allocated for non-contention based RA More... | |
Public Types | |
typedef void(* | DlSchedulingTracedCallback) (uint32_t frame, uint32_t subframe, uint16_t rnti, uint8_t mcs0, uint16_t tbs0Size, uint8_t mcs1, uint16_t tbs1Size) |
TracedCallback signature for DL scheduling events. More... | |
typedef void(* | UlSchedulingTracedCallback) (uint32_t frame, uint32_t subframe, uint16_t rnti, uint8_t mcs, uint16_t tbsSize) |
TracedCallback signature for UL scheduling events. More... | |
Public Member Functions | |
LteEnbMac (void) | |
virtual | ~LteEnbMac (void) |
virtual void | DoDispose (void) |
Destructor implementation. More... | |
void | DoReceivePhyPdu (Ptr< Packet > p) |
FfMacCschedSapUser * | GetFfMacCschedSapUser (void) |
Get the control scheduler SAP user. More... | |
FfMacSchedSapUser * | GetFfMacSchedSapUser (void) |
Get the scheduler SAP user. More... | |
LteEnbCmacSapProvider * | GetLteEnbCmacSapProvider (void) |
Get the control MAC SAP provider. More... | |
LteEnbPhySapUser * | GetLteEnbPhySapUser () |
Get the eNB-PHY SAP User. More... | |
LteMacSapProvider * | GetLteMacSapProvider (void) |
Get the MAC SAP provider. More... | |
void | SetFfMacCschedSapProvider (FfMacCschedSapProvider *s) |
Set the control scheduler SAP provider. More... | |
void | SetFfMacSchedSapProvider (FfMacSchedSapProvider *s) |
Set the scheduler SAP provider. More... | |
void | SetLteEnbCmacSapUser (LteEnbCmacSapUser *s) |
Set the control MAC SAP user. More... | |
void | SetLteEnbPhySapProvider (LteEnbPhySapProvider *s) |
Set the PHY SAP Provider. More... | |
void | SetLteMacSapUser (LteMacSapUser *s) |
Set the MAC SAP user. More... | |
![]() | |
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 |
Implement the GetInstanceTypeId method defined in ObjectBase. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. 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... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
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) |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Attributes | |
std::map< uint8_t, NcRaPreambleInfo > | m_allocatedNcRaPreambleMap |
map storing as key the random acccess preamble IDs allocated for non-contention based access, and as value the associated info More... | |
LteEnbCmacSapProvider * | m_cmacSapProvider |
LteEnbCmacSapUser * | m_cmacSapUser |
FfMacCschedSapProvider * | m_cschedSapProvider |
FfMacCschedSapUser * | m_cschedSapUser |
std::vector< CqiListElement_s > | m_dlCqiReceived |
std::vector< DlInfoListElement_s > | m_dlInfoListReceived |
TracedCallback< uint32_t, uint32_t, uint16_t, uint8_t, uint16_t, uint8_t, uint16_t > | m_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) More... | |
LteEnbPhySapProvider * | m_enbPhySapProvider |
LteEnbPhySapUser * | m_enbPhySapUser |
uint32_t | m_frameNo |
uint8_t | m_macChTtiDelay |
LteMacSapProvider * | m_macSapProvider |
LteMacSapUser * | m_macSapUser |
std::map< uint16_t, DlHarqProcessesBuffer_t > | m_miDlHarqProcessesPackets |
uint8_t | m_numberOfRaPreambles |
uint8_t | m_preambleTransMax |
std::map< uint8_t, uint32_t > | m_rapIdRntiMap |
uint8_t | m_raResponseWindowSize |
std::map< uint8_t, uint32_t > | m_receivedRachPreambleCount |
std::map< uint16_t, std::map< uint8_t, LteMacSapUser * > > | m_rlcAttached |
FfMacSchedSapProvider * | m_schedSapProvider |
FfMacSchedSapUser * | m_schedSapUser |
uint32_t | m_subframeNo |
std::vector< MacCeListElement_s > | m_ulCeReceived |
std::vector< FfMacSchedSapProvider::SchedUlCqiInfoReqParameters > | m_ulCqiReceived |
std::vector< UlInfoListElement_s > | m_ulInfoListReceived |
TracedCallback< uint32_t, uint32_t, uint16_t, uint8_t, uint16_t > | m_ulScheduling |
Trace information regarding UL scheduling Frame number, Subframe number, RNTI, MCS of TB, size of TB. More... | |
Friends | |
class | EnbMacMemberFfMacCschedSapUser |
class | EnbMacMemberFfMacSchedSapUser |
class | EnbMacMemberLteEnbCmacSapProvider |
class | EnbMacMemberLteEnbPhySapUser |
class | EnbMacMemberLteMacSapProvider< LteEnbMac > |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
This class implements the MAC layer of the eNodeB device.
ns3::LteEnbMac is accessible through the following paths with Config::Set and Config::Connect:
Size of this type is 528 bytes (on a 64-bit architecture).
Definition at line 50 of file lte-enb-mac.h.
typedef void(* ns3::LteEnbMac::DlSchedulingTracedCallback) (uint32_t frame, uint32_t subframe, uint16_t rnti, uint8_t mcs0, uint16_t tbs0Size, uint8_t mcs1, uint16_t tbs1Size) |
TracedCallback signature for DL scheduling events.
[in] | frame | Frame number. |
[in] | subframe | Subframe number. |
[in] | rnti | The C-RNTI identifying the UE. |
[in] | mcs0 | The MCS for transport block.. |
[in] | tbs0Size | |
[in] | mcs1 | The MCS for transport block. |
[in] | tbs1Size |
Definition at line 135 of file lte-enb-mac.h.
typedef void(* ns3::LteEnbMac::UlSchedulingTracedCallback) (uint32_t frame, uint32_t subframe, uint16_t rnti, uint8_t mcs, uint16_t tbsSize) |
TracedCallback signature for UL scheduling events.
[in] | frame | Frame number. |
[in] | subframe | Subframe number. |
[in] | rnti | The C-RNTI identifying the UE. |
[in] | mcs | The MCS for transport block |
[in] | tbsSize |
Definition at line 149 of file lte-enb-mac.h.
ns3::LteEnbMac::LteEnbMac | ( | void | ) |
Definition at line 348 of file lte-enb-mac.cc.
References EnbMacMemberFfMacCschedSapUser, EnbMacMemberFfMacSchedSapUser, EnbMacMemberLteEnbCmacSapProvider, EnbMacMemberLteEnbPhySapUser, m_cmacSapProvider, m_cschedSapUser, m_enbPhySapUser, m_macSapProvider, m_schedSapUser, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 359 of file lte-enb-mac.cc.
References NS_LOG_FUNCTION.
|
private |
Definition at line 794 of file lte-enb-mac.cc.
References ns3::FfMacCschedSapProvider::CschedLcConfigReq(), ns3::LogicalChannelConfigListElement_s::DIR_BOTH, ns3::LteEnbCmacSapProvider::LcInfo::gbrDl, ns3::LteEnbCmacSapProvider::LcInfo::gbrUl, ns3::LteEnbCmacSapProvider::LcInfo::isGbr, ns3::LteEnbCmacSapProvider::LcInfo::lcGroup, ns3::LteEnbCmacSapProvider::LcInfo::lcId, m_cschedSapProvider, ns3::LogicalChannelConfigListElement_s::m_direction, ns3::LogicalChannelConfigListElement_s::m_eRabGuaranteedBitrateDl, ns3::LogicalChannelConfigListElement_s::m_eRabGuaranteedBitrateUl, ns3::LogicalChannelConfigListElement_s::m_eRabMaximulBitrateDl, ns3::LogicalChannelConfigListElement_s::m_eRabMaximulBitrateUl, ns3::FfMacCschedSapProvider::CschedLcConfigReqParameters::m_logicalChannelConfigList, ns3::LogicalChannelConfigListElement_s::m_logicalChannelGroup, ns3::LogicalChannelConfigListElement_s::m_logicalChannelIdentity, ns3::LogicalChannelConfigListElement_s::m_qci, ns3::LogicalChannelConfigListElement_s::m_qosBearerType, ns3::FfMacCschedSapProvider::CschedLcConfigReqParameters::m_reconfigureFlag, m_rlcAttached, ns3::FfMacCschedSapProvider::CschedLcConfigReqParameters::m_rnti, ns3::LteEnbCmacSapProvider::LcInfo::mbrDl, ns3::LteEnbCmacSapProvider::LcInfo::mbrUl, NS_ASSERT_MSG, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::LogicalChannelConfigListElement_s::QBT_GBR, ns3::LogicalChannelConfigListElement_s::QBT_NON_GBR, ns3::LteEnbCmacSapProvider::LcInfo::qci, and ns3::LteEnbCmacSapProvider::LcInfo::rnti.
Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::AddLc().
|
private |
Definition at line 746 of file lte-enb-mac.cc.
References ns3::FfMacCschedSapProvider::CschedUeConfigReq(), m_cschedSapProvider, m_miDlHarqProcessesPackets, m_rlcAttached, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_rnti, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_transmissionMode, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::AddUe().
|
private |
Definition at line 885 of file lte-enb-mac.cc.
References ns3::LteEnbMac::NcRaPreambleInfo::expiryTime, m_allocatedNcRaPreambleMap, 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().
|
private |
Definition at line 732 of file lte-enb-mac.cc.
References ns3::FfMacCschedSapProvider::CschedCellConfigReq(), ns3::LteEnbPhySapProvider::GetMacChTtiDelay(), m_cschedSapProvider, ns3::FfMacCschedSapProvider::CschedCellConfigReqParameters::m_dlBandwidth, m_enbPhySapProvider, m_macChTtiDelay, ns3::FfMacCschedSapProvider::CschedCellConfigReqParameters::m_ulBandwidth, and NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::ConfigureMac().
|
private |
Definition at line 1128 of file lte-enb-mac.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedCellConfigCnf().
|
private |
Definition at line 1171 of file lte-enb-mac.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedCellConfigUpdateInd().
|
private |
Definition at line 1140 of file lte-enb-mac.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedLcConfigCnf().
|
private |
Definition at line 1148 of file lte-enb-mac.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedLcReleaseCnf().
|
private |
Definition at line 1134 of file lte-enb-mac.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedUeConfigCnf().
|
private |
Definition at line 1160 of file lte-enb-mac.cc.
References m_cmacSapUser, ns3::LteEnbCmacSapUser::UeConfig::m_rnti, ns3::FfMacCschedSapUser::CschedUeConfigUpdateIndParameters::m_rnti, ns3::LteEnbCmacSapUser::UeConfig::m_transmissionMode, ns3::FfMacCschedSapUser::CschedUeConfigUpdateIndParameters::m_transmissionMode, NS_LOG_FUNCTION, and ns3::LteEnbCmacSapUser::RrcConfigurationUpdateInd().
Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedUeConfigUpdateInd().
|
private |
Definition at line 1154 of file lte-enb-mac.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberFfMacCschedSapUser::CschedUeReleaseCnf().
|
virtual |
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 overriden 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 365 of file lte-enb-mac.cc.
References 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.
|
private |
Definition at line 1184 of file lte-enb-mac.cc.
References ns3::DlInfoListElement_s::ACK, m_dlInfoListReceived, ns3::DlInfoListElement_s::m_harqProcessId, ns3::DlInfoListElement_s::m_harqStatus, m_miDlHarqProcessesPackets, ns3::DlInfoListElement_s::m_rnti, ns3::DlInfoListElement_s::NACK, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberLteEnbPhySapUser::DlInfoListElementHarqFeeback(), and DoReceiveLteControlMessage().
|
private |
Definition at line 875 of file lte-enb-mac.cc.
References m_numberOfRaPreambles, m_preambleTransMax, m_raResponseWindowSize, ns3::LteEnbCmacSapProvider::RachConfig::numberOfRaPreambles, ns3::LteEnbCmacSapProvider::RachConfig::preambleTransMax, and ns3::LteEnbCmacSapProvider::RachConfig::raResponseWindowSize.
Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::GetRachConfig().
|
private |
Definition at line 602 of file lte-enb-mac.cc.
References ns3::LteControlMessage::BSR, ns3::LteControlMessage::DL_CQI, ns3::LteControlMessage::DL_HARQ, DoDlInfoListElementHarqFeeback(), NS_LOG_FUNCTION, NS_LOG_LOGIC, ReceiveBsrMessage(), and ReceiveDlCqiLteControlMessage().
Referenced by ns3::EnbMacMemberLteEnbPhySapUser::ReceiveLteControlMessage().
Definition at line 672 of file lte-enb-mac.cc.
References ns3::LteRadioBearerTag::GetLcid(), ns3::LteRadioBearerTag::GetRnti(), m_rlcAttached, NS_ASSERT_MSG, NS_LOG_FUNCTION, and ns3::Packet::RemovePacketTag().
Referenced by ns3::EnbMacMemberLteEnbPhySapUser::ReceivePhyPdu().
|
private |
Definition at line 627 of file lte-enb-mac.cc.
References m_receivedRachPreambleCount, and NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberLteEnbPhySapUser::ReceiveRachPreamble().
|
private |
Definition at line 841 of file lte-enb-mac.cc.
References NS_FATAL_ERROR.
Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::ReconfigureLc().
|
private |
Definition at line 847 of file lte-enb-mac.cc.
References ns3::FfMacCschedSapProvider::CschedLcReleaseReq(), m_cschedSapProvider, ns3::FfMacCschedSapProvider::CschedLcReleaseReqParameters::m_logicalChannelIdentity, m_rlcAttached, ns3::FfMacCschedSapProvider::CschedLcReleaseReqParameters::m_rnti, and NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::ReleaseLc().
|
private |
Definition at line 783 of file lte-enb-mac.cc.
References ns3::FfMacCschedSapProvider::CschedUeReleaseReq(), m_cschedSapProvider, m_miDlHarqProcessesPackets, m_rlcAttached, ns3::FfMacCschedSapProvider::CschedUeReleaseReqParameters::m_rnti, and NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::RemoveUe().
|
private |
Definition at line 946 of file lte-enb-mac.cc.
References ns3::LteMacSapProvider::ReportBufferStatusParameters::lcid, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_logicalChannelIdentity, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcRetransmissionHolDelay, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcRetransmissionQueueSize, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcStatusPduSize, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcTransmissionQueueHolDelay, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rlcTransmissionQueueSize, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rnti, m_schedSapProvider, NS_LOG_FUNCTION, ns3::LteMacSapProvider::ReportBufferStatusParameters::retxQueueHolDelay, ns3::LteMacSapProvider::ReportBufferStatusParameters::retxQueueSize, ns3::LteMacSapProvider::ReportBufferStatusParameters::rnti, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReq(), ns3::LteMacSapProvider::ReportBufferStatusParameters::statusPduSize, ns3::LteMacSapProvider::ReportBufferStatusParameters::txQueueHolDelay, and ns3::LteMacSapProvider::ReportBufferStatusParameters::txQueueSize.
|
private |
Definition at line 969 of file lte-enb-mac.cc.
References ns3::Packet::Copy(), list, ns3::FfMacSchedSapUser::SchedDlConfigIndParameters::m_buildDataList, ns3::FfMacSchedSapUser::SchedDlConfigIndParameters::m_buildRarList, m_dlScheduling, m_enbPhySapProvider, m_frameNo, m_miDlHarqProcessesPackets, m_rapIdRntiMap, m_rlcAttached, m_subframeNo, 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::LteEnbPhySapProvider::SendLteControlMessage(), and ns3::LteEnbPhySapProvider::SendMacPdu().
Referenced by ns3::EnbMacMemberFfMacSchedSapUser::SchedDlConfigInd().
|
private |
Definition at line 1096 of file lte-enb-mac.cc.
References 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().
|
private |
Definition at line 448 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::SchedDlTriggerReqParameters::m_sfnSf, ns3::FfMacSchedSapProvider::SchedDlCqiInfoReqParameters::m_sfnSf, ns3::FfMacSchedSapProvider::SchedUlTriggerReqParameters::m_sfnSf, ns3::FfMacSchedSapProvider::SchedUlMacCtrlInfoReqParameters::m_sfnSf, m_subframeNo, m_ulCeReceived, m_ulCqiReceived, ns3::FfMacSchedSapProvider::SchedUlTriggerReqParameters::m_ulInfoList, m_ulInfoListReceived, MAX_CQI_LIST, 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().
|
private |
Definition at line 930 of file lte-enb-mac.cc.
References ns3::Packet::AddPacketTag(), ns3::LteRadioBearerTag::GetLayer(), ns3::LteMacSapProvider::TransmitPduParameters::harqProcessId, ns3::LteMacSapProvider::TransmitPduParameters::layer, ns3::LteMacSapProvider::TransmitPduParameters::lcid, m_enbPhySapProvider, m_miDlHarqProcessesPackets, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::LteMacSapProvider::TransmitPduParameters::pdu, ns3::LteMacSapProvider::TransmitPduParameters::rnti, and ns3::LteEnbPhySapProvider::SendMacPdu().
|
private |
Definition at line 862 of file lte-enb-mac.cc.
References ns3::FfMacCschedSapProvider::CschedUeConfigReq(), m_cschedSapProvider, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_reconfigureFlag, ns3::LteEnbCmacSapProvider::UeConfig::m_rnti, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_rnti, ns3::LteEnbCmacSapProvider::UeConfig::m_transmissionMode, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_transmissionMode, and NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberLteEnbCmacSapProvider::UeUpdateConfigurationReq().
|
private |
Definition at line 635 of file lte-enb-mac.cc.
References ns3::UlCqi_s::m_type, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_ulCqi, m_ulCqiReceived, NS_LOG_DEBUG, ns3::UlCqi_s::PUSCH, and ns3::UlCqi_s::SRS.
Referenced by ns3::EnbMacMemberLteEnbPhySapUser::UlCqiReport().
|
private |
Definition at line 1177 of file lte-enb-mac.cc.
References m_ulInfoListReceived, and NS_LOG_FUNCTION.
Referenced by ns3::EnbMacMemberLteEnbPhySapUser::UlInfoListElementHarqFeeback().
FfMacCschedSapUser * ns3::LteEnbMac::GetFfMacCschedSapUser | ( | void | ) |
Get the control scheduler SAP user.
Definition at line 401 of file lte-enb-mac.cc.
References m_cschedSapUser.
FfMacSchedSapUser * ns3::LteEnbMac::GetFfMacSchedSapUser | ( | void | ) |
Get the scheduler SAP user.
Definition at line 389 of file lte-enb-mac.cc.
References m_schedSapUser.
LteEnbCmacSapProvider * ns3::LteEnbMac::GetLteEnbCmacSapProvider | ( | void | ) |
Get the control MAC SAP provider.
Definition at line 427 of file lte-enb-mac.cc.
References m_cmacSapProvider.
LteEnbPhySapUser * ns3::LteEnbMac::GetLteEnbPhySapUser | ( | ) |
Get the eNB-PHY SAP User.
Definition at line 440 of file lte-enb-mac.cc.
References m_enbPhySapUser.
LteMacSapProvider * ns3::LteEnbMac::GetLteMacSapProvider | ( | void | ) |
Get the MAC SAP provider.
Definition at line 415 of file lte-enb-mac.cc.
References m_macSapProvider.
|
static |
Definition at line 313 of file lte-enb-mac.cc.
References m_dlScheduling, m_numberOfRaPreambles, m_preambleTransMax, m_raResponseWindowSize, m_ulScheduling, ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), and ns3::TypeId::SetParent().
|
private |
Receive a CE element containing the buffer status report.
bsr | the BSR message |
Definition at line 663 of file lte-enb-mac.cc.
References m_ulCeReceived, and NS_LOG_FUNCTION.
Referenced by DoReceiveLteControlMessage().
|
private |
Receive a DL CQI ideal control message.
msg | the DL CQI message |
Definition at line 650 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().
void ns3::LteEnbMac::SetFfMacCschedSapProvider | ( | FfMacCschedSapProvider * | s | ) |
Set the control scheduler SAP provider.
s | a pointer to the control scheduler SAP provider |
Definition at line 395 of file lte-enb-mac.cc.
References m_cschedSapProvider.
void ns3::LteEnbMac::SetFfMacSchedSapProvider | ( | FfMacSchedSapProvider * | s | ) |
Set the scheduler SAP provider.
s | a pointer SAP provider of the FF packet scheduler |
Definition at line 383 of file lte-enb-mac.cc.
References m_schedSapProvider.
void ns3::LteEnbMac::SetLteEnbCmacSapUser | ( | LteEnbCmacSapUser * | s | ) |
Set the control MAC SAP user.
s | a pointer to the control MAC SAP user |
Definition at line 421 of file lte-enb-mac.cc.
References m_cmacSapUser.
void ns3::LteEnbMac::SetLteEnbPhySapProvider | ( | LteEnbPhySapProvider * | s | ) |
Set the PHY SAP Provider.
s | a pointer to the PHY SAP provider |
Definition at line 433 of file lte-enb-mac.cc.
References m_enbPhySapProvider.
void ns3::LteEnbMac::SetLteMacSapUser | ( | LteMacSapUser * | s | ) |
Set the MAC SAP user.
s | a pointer to the MAC SAP user |
Definition at line 409 of file lte-enb-mac.cc.
References m_macSapUser.
|
friend |
Definition at line 55 of file lte-enb-mac.h.
Referenced by LteEnbMac().
|
friend |
Definition at line 54 of file lte-enb-mac.h.
Referenced by LteEnbMac().
|
friend |
Definition at line 52 of file lte-enb-mac.h.
Referenced by LteEnbMac().
|
friend |
Definition at line 56 of file lte-enb-mac.h.
Referenced by LteEnbMac().
|
friend |
Definition at line 53 of file lte-enb-mac.h.
|
private |
map storing as key the random acccess preamble IDs allocated for non-contention based access, and as value the associated info
Definition at line 288 of file lte-enb-mac.h.
Referenced by DoAllocateNcRaPreamble(), and DoSubframeIndication().
|
private |
Definition at line 234 of file lte-enb-mac.h.
Referenced by DoDispose(), GetLteEnbCmacSapProvider(), and LteEnbMac().
|
private |
Definition at line 236 of file lte-enb-mac.h.
Referenced by DoCschedUeConfigUpdateInd(), DoSubframeIndication(), and SetLteEnbCmacSapUser().
|
private |
Definition at line 240 of file lte-enb-mac.h.
Referenced by DoAddLc(), DoAddUe(), DoConfigureMac(), DoReleaseLc(), DoRemoveUe(), DoUeUpdateConfigurationReq(), and SetFfMacCschedSapProvider().
|
private |
Definition at line 242 of file lte-enb-mac.h.
Referenced by DoDispose(), GetFfMacCschedSapUser(), and LteEnbMac().
|
private |
Definition at line 217 of file lte-enb-mac.h.
Referenced by DoDispose(), DoSubframeIndication(), and ReceiveDlCqiLteControlMessage().
|
private |
Definition at line 221 of file lte-enb-mac.h.
Referenced by DoDispose(), DoDlInfoListElementHarqFeeback(), and DoSubframeIndication().
|
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 256 of file lte-enb-mac.h.
Referenced by DoSchedDlConfigInd(), and GetTypeId().
|
private |
Definition at line 245 of file lte-enb-mac.h.
Referenced by DoConfigureMac(), DoSchedDlConfigInd(), DoSchedUlConfigInd(), DoTransmitPdu(), and SetLteEnbPhySapProvider().
|
private |
Definition at line 246 of file lte-enb-mac.h.
Referenced by DoDispose(), GetLteEnbPhySapUser(), and LteEnbMac().
|
private |
Definition at line 248 of file lte-enb-mac.h.
Referenced by DoSchedDlConfigInd(), DoSchedUlConfigInd(), and DoSubframeIndication().
|
private |
Definition at line 264 of file lte-enb-mac.h.
Referenced by DoConfigureMac(), and DoSubframeIndication().
|
private |
Definition at line 233 of file lte-enb-mac.h.
Referenced by DoDispose(), GetLteMacSapProvider(), and LteEnbMac().
|
private |
Definition at line 235 of file lte-enb-mac.h.
Referenced by SetLteMacSapUser().
|
private |
Definition at line 267 of file lte-enb-mac.h.
Referenced by DoAddUe(), DoDispose(), DoDlInfoListElementHarqFeeback(), DoRemoveUe(), DoSchedDlConfigInd(), and DoTransmitPdu().
|
private |
Definition at line 269 of file lte-enb-mac.h.
Referenced by DoAllocateNcRaPreamble(), DoGetRachConfig(), and GetTypeId().
|
private |
Definition at line 270 of file lte-enb-mac.h.
Referenced by DoAllocateNcRaPreamble(), DoGetRachConfig(), and GetTypeId().
|
private |
Definition at line 292 of file lte-enb-mac.h.
Referenced by DoSchedDlConfigInd(), and DoSubframeIndication().
|
private |
Definition at line 271 of file lte-enb-mac.h.
Referenced by DoAllocateNcRaPreamble(), DoGetRachConfig(), and GetTypeId().
|
private |
Definition at line 290 of file lte-enb-mac.h.
Referenced by DoReceiveRachPreamble(), and DoSubframeIndication().
|
private |
Definition at line 215 of file lte-enb-mac.h.
Referenced by DoAddLc(), DoAddUe(), DoReceivePhyPdu(), DoReleaseLc(), DoRemoveUe(), and DoSchedDlConfigInd().
|
private |
Definition at line 239 of file lte-enb-mac.h.
Referenced by DoReportBufferStatus(), DoSubframeIndication(), and SetFfMacSchedSapProvider().
|
private |
Definition at line 241 of file lte-enb-mac.h.
Referenced by DoDispose(), GetFfMacSchedSapUser(), and LteEnbMac().
|
private |
Definition at line 249 of file lte-enb-mac.h.
Referenced by DoSchedDlConfigInd(), DoSchedUlConfigInd(), and DoSubframeIndication().
|
private |
Definition at line 219 of file lte-enb-mac.h.
Referenced by DoDispose(), DoSubframeIndication(), and ReceiveBsrMessage().
|
private |
Definition at line 218 of file lte-enb-mac.h.
Referenced by DoDispose(), DoSubframeIndication(), and DoUlCqiReport().
|
private |
Definition at line 223 of file lte-enb-mac.h.
Referenced by DoDispose(), DoSubframeIndication(), and DoUlInfoListElementHarqFeeback().
|
private |
Trace information regarding UL scheduling Frame number, Subframe number, RNTI, MCS of TB, size of TB.
Definition at line 262 of file lte-enb-mac.h.
Referenced by DoSchedUlConfigInd(), and GetTypeId().