#include <lte-enb-rrc.h>
Classes | |
struct | X2uTeidInfo |
Public Types | |
enum | LteEpsBearerToRlcMapping_t { RLC_SM_ALWAYS = 1, RLC_UM_ALWAYS = 2, RLC_AM_ALWAYS = 3, PER_BASED = 4 } |
Public Member Functions | |
LteEnbRrc () | |
virtual | ~LteEnbRrc () |
void | ConfigureCell (uint8_t ulBandwidth, uint8_t dlBandwidth, uint16_t ulEarfcn, uint16_t dlEarfcn, uint16_t cellId) |
void | ConnectionTimeout (uint16_t rnti) |
EpcX2SapUser * | GetEpcX2SapUser () |
LteEnbCmacSapUser * | GetLteEnbCmacSapUser () |
LteEnbCphySapUser * | GetLteEnbCphySapUser () |
LteEnbRrcSapProvider * | GetLteEnbRrcSapProvider () |
EpcEnbS1SapUser * | GetS1SapUser () |
uint32_t | GetSrsPeriodicity () const |
Ptr< UeManager > | GetUeManager (uint16_t rnti) |
bool | SendData (Ptr< Packet > p) |
void | SendHandoverRequest (uint16_t rnti, uint16_t cellId) |
void | SetCellId (uint16_t m_cellId) |
void | SetEpcX2SapProvider (EpcX2SapProvider *s) |
void | SetForwardUpCallback (Callback< void, Ptr< Packet > > cb) |
void | SetLteEnbCmacSapProvider (LteEnbCmacSapProvider *s) |
void | SetLteEnbCphySapProvider (LteEnbCphySapProvider *s) |
void | SetLteEnbRrcSapUser (LteEnbRrcSapUser *s) |
void | SetLteMacSapProvider (LteMacSapProvider *s) |
void | SetS1SapProvider (EpcEnbS1SapProvider *s) |
void | SetSrsPeriodicity (uint32_t p) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
virtual void | DoDispose (void) |
![]() | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
Friends | |
class | EnbRrcMemberLteEnbCmacSapUser |
class | EpcX2SpecificEpcX2SapUser< LteEnbRrc > |
class | MemberEpcEnbS1SapUser< LteEnbRrc > |
class | MemberLteEnbRrcSapProvider< LteEnbRrc > |
class | UeManager |
The LTE Radio Resource Control entity at the eNB
ns3::LteEnbRrc is accessible through the following paths with Config::Set and Config::Connect:
Definition at line 403 of file lte-enb-rrc.h.
Identifies how EPS Bearer parameters are mapped to different RLC types
Definition at line 585 of file lte-enb-rrc.h.
ns3::LteEnbRrc::LteEnbRrc | ( | ) |
create an RRC instance for use within an eNB
Definition at line 1160 of file lte-enb-rrc.cc.
References EnbRrcMemberLteEnbCmacSapUser, m_cmacSapUser, m_cphySapUser, m_rrcSapProvider, m_s1SapUser, m_x2SapUser, and NS_LOG_FUNCTION.
|
virtual |
|
private |
Allocate a new RNTI for a new UE. This is done in the following cases:
state | the initial state of the UeManager |
Definition at line 1714 of file lte-enb-rrc.cc.
References ns3::UeManager::GetSrsConfigurationIndex(), ns3::Object::Initialize(), m_cellId, m_lastAllocatedRnti, m_newUeContextTrace, m_ueMap, NS_ASSERT_MSG, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by DoAllocateTemporaryCellRnti(), and DoRecvHandoverRequest().
void ns3::LteEnbRrc::ConfigureCell | ( | uint8_t | ulBandwidth, |
uint8_t | dlBandwidth, | ||
uint16_t | ulEarfcn, | ||
uint16_t | dlEarfcn, | ||
uint16_t | cellId | ||
) |
configure cell-specific parameters
ulBandwidth | the uplink bandwidth in number of RB |
dlBandwidth | the downlink bandwidth in number of RB |
ulEarfcn | the UL EARFCN |
dlEarfcn | the DL EARFCN |
cellId | the ID of the cell |
Definition at line 1353 of file lte-enb-rrc.cc.
References ns3::LteEnbCmacSapProvider::ConfigureMac(), ns3::LteRrcSap::MasterInformationBlock::dlBandwidth, m_cellId, m_cmacSapProvider, m_configured, m_cphySapProvider, m_dlBandwidth, m_dlEarfcn, m_ulBandwidth, m_ulEarfcn, ns3::MilliSeconds(), NS_ASSERT, NS_LOG_FUNCTION, ns3::Simulator::Schedule(), SendSystemInformation(), ns3::LteEnbCphySapProvider::SetBandwidth(), ns3::LteEnbCphySapProvider::SetCellId(), ns3::LteEnbCphySapProvider::SetEarfcn(), and ns3::LteEnbCphySapProvider::SetMasterInformationBlock().
Referenced by ns3::LteEnbNetDevice::UpdateConfig().
void ns3::LteEnbRrc::ConnectionTimeout | ( | uint16_t | rnti | ) |
Method triggered when a UE is expected to get connected but does not do so in a reasonable time
rnti | the T-C-RNTI whose timeout expired |
Definition at line 1403 of file lte-enb-rrc.cc.
References NS_LOG_FUNCTION, and RemoveUe().
Referenced by ns3::UeManager::DoInitialize(), and ns3::UeManager::RecvRrcConnectionRequest().
|
private |
Definition at line 1691 of file lte-enb-rrc.cc.
References AddUe(), ns3::UeManager::INITIAL_RANDOM_ACCESS, and NS_LOG_FUNCTION.
Referenced by ns3::EnbRrcMemberLteEnbCmacSapUser::AllocateTemporaryCellRnti().
|
private |
Definition at line 1423 of file lte-enb-rrc.cc.
References ns3::UeManager::CompleteSetupUe(), GetUeManager(), and NS_LOG_FUNCTION.
|
private |
Definition at line 1473 of file lte-enb-rrc.cc.
References ns3::EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters::bearer, ns3::EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters::bearerId, GetUeManager(), ns3::EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters::gtpTeid, ns3::EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters::rnti, ns3::UeManager::SetupDataRadioBearer(), and ns3::EpcEnbS1SapUser::DataRadioBearerSetupRequestParameters::transportLayerAddress.
|
protectedvirtual |
This method is called by Object::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 1191 of file lte-enb-rrc.cc.
References m_cmacSapUser, m_cphySapUser, m_rrcSapProvider, m_s1SapUser, m_ueMap, m_x2SapUser, and NS_LOG_FUNCTION.
|
private |
Definition at line 1705 of file lte-enb-rrc.cc.
References NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by ns3::EnbRrcMemberLteEnbCmacSapUser::NotifyLcConfigResult().
|
private |
Definition at line 1480 of file lte-enb-rrc.cc.
References GetUeManager(), ns3::EpcEnbS1SapUser::PathSwitchRequestAcknowledgeParameters::rnti, and ns3::UeManager::SendUeContextRelease().
|
private |
Definition at line 1594 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::HandoverPreparationFailureParams::cause, ns3::EpcX2Sap::HandoverPreparationFailureParams::criticalityDiagnostics, GetUeManager(), NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::EpcX2Sap::HandoverPreparationFailureParams::oldEnbUeX2apId, ns3::UeManager::RecvHandoverPreparationFailure(), ns3::EpcX2Sap::HandoverPreparationFailureParams::sourceCellId, and ns3::EpcX2Sap::HandoverPreparationFailureParams::targetCellId.
|
private |
Definition at line 1487 of file lte-enb-rrc.cc.
References AddUe(), ns3::EpcX2Sap::HandoverRequestAckParams::admittedBearers, ns3::LteEnbCmacSapProvider::AllocateNcRaPreamble(), ns3::EpcX2Sap::HandoverRequestParams::bearers, ns3::LteRrcSap::MobilityControlInfo::carrierBandwidth, ns3::LteRrcSap::MobilityControlInfo::carrierFreq, ns3::EpcX2Sap::HandoverPreparationFailureParams::cause, ns3::EpcX2Sap::HandoverPreparationFailureParams::criticalityDiagnostics, ns3::LteRrcSap::CarrierBandwidthEutra::dlBandwidth, ns3::LteRrcSap::CarrierFreqEutra::dlCarrierFreq, ns3::LteEnbRrcSapUser::EncodeHandoverCommand(), ns3::EpcX2Sap::ErabAdmittedItem::erabId, ns3::LteEnbCmacSapProvider::GetRachConfig(), ns3::UeManager::GetRrcConnectionReconfigurationForHandover(), GetUeManager(), ns3::UeManager::HANDOVER_JOINING, ns3::LteRrcSap::MobilityControlInfo::haveCarrierBandwidth, ns3::LteRrcSap::MobilityControlInfo::haveCarrierFreq, ns3::LteRrcSap::RrcConnectionReconfiguration::haveMobilityControlInfo, ns3::LteRrcSap::MobilityControlInfo::haveRachConfigDedicated, m_admitHandoverRequest, m_cellId, m_cmacSapProvider, m_dlBandwidth, m_dlEarfcn, m_rrcSapUser, m_ulBandwidth, m_ulEarfcn, m_x2SapProvider, ns3::EpcX2Sap::HandoverRequestParams::mmeUeS1apId, ns3::LteRrcSap::RrcConnectionReconfiguration::mobilityControlInfo, ns3::EpcX2Sap::HandoverRequestAckParams::newEnbUeX2apId, ns3::LteRrcSap::MobilityControlInfo::newUeIdentity, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC, ns3::LteEnbCmacSapProvider::RachConfig::numberOfRaPreambles, ns3::LteRrcSap::PreambleInfo::numberOfRaPreambles, ns3::EpcX2Sap::HandoverRequestParams::oldEnbUeX2apId, ns3::EpcX2Sap::HandoverRequestAckParams::oldEnbUeX2apId, ns3::EpcX2Sap::HandoverPreparationFailureParams::oldEnbUeX2apId, ns3::LteRrcSap::RachConfigCommon::preambleInfo, ns3::LteEnbCmacSapProvider::RachConfig::preambleTransMax, ns3::LteRrcSap::RaSupervisionInfo::preambleTransMax, ns3::LteRrcSap::RadioResourceConfigCommon::rachConfigCommon, ns3::LteRrcSap::MobilityControlInfo::rachConfigDedicated, ns3::LteRrcSap::MobilityControlInfo::radioResourceConfigCommon, ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPrachMaskIndex, ns3::LteRrcSap::RachConfigDedicated::raPrachMaskIndex, ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPreambleId, ns3::LteRrcSap::RachConfigDedicated::raPreambleIndex, ns3::LteEnbCmacSapProvider::RachConfig::raResponseWindowSize, ns3::LteRrcSap::RaSupervisionInfo::raResponseWindowSize, ns3::LteRrcSap::RachConfigCommon::raSupervisionInfo, RemoveUe(), ns3::EpcX2Sap::HandoverRequestAckParams::rrcContext, ns3::EpcX2SapProvider::SendHandoverPreparationFailure(), ns3::EpcX2SapProvider::SendHandoverRequestAck(), ns3::UeManager::SetImsi(), ns3::UeManager::SetSource(), ns3::UeManager::SetupDataRadioBearer(), ns3::EpcX2Sap::HandoverRequestParams::sourceCellId, ns3::EpcX2Sap::HandoverRequestAckParams::sourceCellId, ns3::EpcX2Sap::HandoverPreparationFailureParams::sourceCellId, ns3::EpcX2Sap::HandoverRequestParams::targetCellId, ns3::EpcX2Sap::HandoverRequestAckParams::targetCellId, ns3::EpcX2Sap::HandoverPreparationFailureParams::targetCellId, ns3::LteRrcSap::MobilityControlInfo::targetPhysCellId, ns3::LteRrcSap::CarrierBandwidthEutra::ulBandwidth, ns3::LteRrcSap::CarrierFreqEutra::ulCarrierFreq, and ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::valid.
|
private |
Definition at line 1577 of file lte-enb-rrc.cc.
References GetUeManager(), ns3::EpcX2Sap::HandoverRequestAckParams::newEnbUeX2apId, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::EpcX2Sap::HandoverRequestAckParams::oldEnbUeX2apId, ns3::UeManager::RecvHandoverRequestAck(), ns3::EpcX2Sap::HandoverRequestAckParams::sourceCellId, and ns3::EpcX2Sap::HandoverRequestAckParams::targetCellId.
|
private |
Definition at line 1642 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::LoadInformationParams::cellInformationList, NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
|
private |
Definition at line 1466 of file lte-enb-rrc.cc.
References GetUeManager(), NS_LOG_FUNCTION, and ns3::UeManager::RecvMeasurementReport().
|
private |
Definition at line 1654 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::ResourceStatusUpdateParams::cellMeasurementResultList, NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
|
private |
Definition at line 1445 of file lte-enb-rrc.cc.
References GetUeManager(), NS_LOG_FUNCTION, and ns3::UeManager::RecvRrcConnectionReconfigurationCompleted().
|
private |
Definition at line 1459 of file lte-enb-rrc.cc.
References GetUeManager(), NS_LOG_FUNCTION, and ns3::UeManager::RecvRrcConnectionReestablishmentComplete().
|
private |
Definition at line 1452 of file lte-enb-rrc.cc.
References GetUeManager(), NS_LOG_FUNCTION, and ns3::UeManager::RecvRrcConnectionReestablishmentRequest().
|
private |
Definition at line 1430 of file lte-enb-rrc.cc.
References GetUeManager(), NS_LOG_FUNCTION, and ns3::UeManager::RecvRrcConnectionRequest().
|
private |
Definition at line 1438 of file lte-enb-rrc.cc.
References GetUeManager(), NS_LOG_FUNCTION, and ns3::UeManager::RecvRrcConnectionSetupCompleted().
|
private |
Definition at line 1612 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::SnStatusTransferParams::erabsSubjectToStatusTransferList, GetUeManager(), ns3::EpcX2Sap::SnStatusTransferParams::newEnbUeX2apId, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::EpcX2Sap::SnStatusTransferParams::oldEnbUeX2apId, and ns3::UeManager::RecvSnStatusTransfer().
|
private |
Definition at line 1628 of file lte-enb-rrc.cc.
References ns3::EpcX2Sap::UeContextReleaseParams::newEnbUeX2apId, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::EpcX2Sap::UeContextReleaseParams::oldEnbUeX2apId, and RemoveUe().
|
private |
Definition at line 1666 of file lte-enb-rrc.cc.
References ns3::Packet::GetSize(), GetUeManager(), ns3::EpcX2Sap::UeDataParams::gtpTeid, m_x2uTeidInfoMap, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::UeManager::SendData(), ns3::EpcX2Sap::UeDataParams::sourceCellId, ns3::EpcX2Sap::UeDataParams::targetCellId, and ns3::EpcX2Sap::UeDataParams::ueData.
|
private |
Definition at line 1698 of file lte-enb-rrc.cc.
References ns3::UeManager::CmacUeConfigUpdateInd(), GetUeManager(), and ns3::LteEnbCmacSapUser::UeConfig::m_rnti.
Referenced by ns3::EnbRrcMemberLteEnbCmacSapUser::RrcConfigurationUpdateInd().
EpcX2SapUser * ns3::LteEnbRrc::GetEpcX2SapUser | ( | ) |
Get the X2 SAP offered by this RRC
Definition at line 1274 of file lte-enb-rrc.cc.
References m_x2SapUser, and NS_LOG_FUNCTION.
|
private |
bearer | the characteristics of the bearer |
Definition at line 1896 of file lte-enb-rrc.cc.
References ns3::EpsBearer::IsGbr().
Referenced by ns3::UeManager::SetupDataRadioBearer().
|
private |
bearer | the characteristics of the bearer |
Definition at line 1909 of file lte-enb-rrc.cc.
References ns3::EpsBearer::qci.
Referenced by ns3::UeManager::SetupDataRadioBearer().
LteEnbCmacSapUser * ns3::LteEnbRrc::GetLteEnbCmacSapUser | ( | ) |
Get the CMAC SAP offered by this RRC
Definition at line 1288 of file lte-enb-rrc.cc.
References m_cmacSapUser, and NS_LOG_FUNCTION.
LteEnbCphySapUser * ns3::LteEnbRrc::GetLteEnbCphySapUser | ( | ) |
Definition at line 1336 of file lte-enb-rrc.cc.
References m_cphySapUser, and NS_LOG_FUNCTION.
LteEnbRrcSapProvider * ns3::LteEnbRrc::GetLteEnbRrcSapProvider | ( | ) |
Definition at line 1302 of file lte-enb-rrc.cc.
References m_rrcSapProvider, and NS_LOG_FUNCTION.
Referenced by ns3::LteUeRrcProtocolIdeal::SetEnbRrcSapProvider(), and ns3::LteUeRrcProtocolReal::SetEnbRrcSapProvider().
|
private |
Allocate a new SRS configuration index for a new UE.
Definition at line 1833 of file lte-enb-rrc.cc.
References ns3::g_srsCiHigh, ns3::g_srsCiLow, ns3::g_srsPeriodicity, m_lastAllocatedConfigurationIndex, m_srsCurrentPeriodicityId, m_ueSrsConfigurationIndexSet, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::SRS_ENTRIES.
Referenced by ns3::UeManager::DoInitialize().
bearer | the specification of an EPS bearer |
Definition at line 1759 of file lte-enb-rrc.cc.
References ns3::EpsBearer::GetPacketErrorLossRate(), GetTypeId(), m_epsBearerToRlcMapping, PER_BASED, RLC_AM_ALWAYS, RLC_SM_ALWAYS, and RLC_UM_ALWAYS.
Referenced by ns3::UeManager::SetupDataRadioBearer().
EpcEnbS1SapUser * ns3::LteEnbRrc::GetS1SapUser | ( | ) |
Definition at line 1323 of file lte-enb-rrc.cc.
References m_s1SapUser.
Referenced by ns3::DrbActivator::ActivateDrb().
uint32_t ns3::LteEnbRrc::GetSrsPeriodicity | ( | ) | const |
Definition at line 1823 of file lte-enb-rrc.cc.
References ns3::g_srsPeriodicity, m_srsCurrentPeriodicityId, NS_ASSERT, NS_LOG_FUNCTION, and ns3::SRS_ENTRIES.
Referenced by GetTypeId().
|
static |
Reimplemented from ns3::Object.
Definition at line 1203 of file lte-enb-rrc.cc.
References GetSrsPeriodicity(), m_admitHandoverRequest, m_admitRrcConnectionRequest, m_connectionEstablishedTrace, m_connectionReconfigurationTrace, m_defaultTransmissionMode, m_epsBearerToRlcMapping, m_handoverEndOkTrace, m_handoverStartTrace, m_newUeContextTrace, m_systemInformationPeriodicity, m_ueMap, ns3::MakeEnumAccessor(), ns3::MakeEnumChecker(), ns3::MakeObjectMapAccessor(), ns3::MakeTraceSourceAccessor(), ns3::MilliSeconds(), NS_LOG_FUNCTION, PER_BASED, RLC_AM_ALWAYS, RLC_SM_ALWAYS, RLC_UM_ALWAYS, ns3::TypeId::SetParent(), and SetSrsPeriodicity().
Referenced by GetRlcType().
rnti | the identifier of an UE |
Definition at line 1343 of file lte-enb-rrc.cc.
References m_cellId, m_ueMap, NS_ASSERT, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
Referenced by ns3::DrbActivator::ActivateDrb(), DoCompleteSetupUe(), DoDataRadioBearerSetupRequest(), DoPathSwitchRequestAcknowledge(), DoRecvHandoverPreparationFailure(), DoRecvHandoverRequest(), DoRecvHandoverRequestAck(), DoRecvMeasurementReport(), DoRecvRrcConnectionReconfigurationCompleted(), DoRecvRrcConnectionReestablishmentComplete(), DoRecvRrcConnectionReestablishmentRequest(), DoRecvRrcConnectionRequest(), DoRecvRrcConnectionSetupCompleted(), DoRecvSnStatusTransfer(), DoRecvUeData(), DoRrcConfigurationUpdateInd(), SendData(), and SendHandoverRequest().
|
private |
remove a previously allocated SRS configuration index
srcCi | the indext to be removed |
Definition at line 1887 of file lte-enb-rrc.cc.
References m_ueSrsConfigurationIndexSet, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
Referenced by RemoveUe().
|
private |
remove a UE from the cell
rnti | the C-RNTI identiftying the user |
Definition at line 1741 of file lte-enb-rrc.cc.
References m_cmacSapProvider, m_cphySapProvider, m_s1SapProvider, m_ueMap, NS_ASSERT_MSG, NS_LOG_FUNCTION, RemoveSrsConfigurationIndex(), ns3::LteEnbCmacSapProvider::RemoveUe(), ns3::LteEnbCphySapProvider::RemoveUe(), and ns3::EpcEnbS1SapProvider::UeContextRelease().
Referenced by ConnectionTimeout(), DoRecvHandoverRequest(), and DoRecvUeContextRelease().
Enqueue an IP data packet on the proper bearer for downlink transmission. Normally expected to be called by the NetDevice forwarding a packet coming from the EpcEnbApplication
p | the packet |
Definition at line 1383 of file lte-enb-rrc.cc.
References ns3::EpsBearerTag::GetBid(), ns3::EpsBearerTag::GetRnti(), GetUeManager(), NS_ASSERT_MSG, NS_LOG_FUNCTION, ns3::Packet::RemovePacketTag(), and ns3::UeManager::SendData().
Referenced by ns3::LteEnbNetDevice::Send().
void ns3::LteEnbRrc::SendHandoverRequest | ( | uint16_t | rnti, |
uint16_t | cellId | ||
) |
Send a HandoverRequest through the X2 SAP interface
This method will trigger a handover which is started by the RRC by sending a handover request to the target eNB over the X2 interface
imsi | the id of the UE to be handed over |
cellId | the id of the target eNB |
Definition at line 1411 of file lte-enb-rrc.cc.
References GetUeManager(), m_configured, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::UeManager::PrepareHandover().
Referenced by ns3::LteHelper::DoHandoverRequest().
|
private |
method used to periodically send System Information
Definition at line 1915 of file lte-enb-rrc.cc.
References ns3::LteRrcSap::SystemInformationBlockType2::freqInfo, ns3::LteEnbCmacSapProvider::GetRachConfig(), ns3::LteRrcSap::SystemInformation::haveSib2, m_cmacSapProvider, m_rrcSapUser, m_systemInformationPeriodicity, m_ulBandwidth, m_ulEarfcn, NS_LOG_FUNCTION, ns3::LteEnbCmacSapProvider::RachConfig::numberOfRaPreambles, ns3::LteRrcSap::PreambleInfo::numberOfRaPreambles, ns3::LteRrcSap::RachConfigCommon::preambleInfo, ns3::LteEnbCmacSapProvider::RachConfig::preambleTransMax, ns3::LteRrcSap::RaSupervisionInfo::preambleTransMax, ns3::LteRrcSap::RadioResourceConfigCommonSib::rachConfigCommon, ns3::LteRrcSap::SystemInformationBlockType2::radioResourceConfigCommon, ns3::LteEnbCmacSapProvider::RachConfig::raResponseWindowSize, ns3::LteRrcSap::RaSupervisionInfo::raResponseWindowSize, ns3::LteRrcSap::RachConfigCommon::raSupervisionInfo, ns3::Simulator::Schedule(), ns3::LteEnbRrcSapUser::SendSystemInformation(), ns3::LteRrcSap::SystemInformation::sib2, ns3::LteRrcSap::FreqInfo::ulBandwidth, and ns3::LteRrcSap::FreqInfo::ulCarrierFreq.
Referenced by ConfigureCell().
void ns3::LteEnbRrc::SetCellId | ( | uint16_t | m_cellId | ) |
set the cell id of this eNB
m_cellId |
Definition at line 1377 of file lte-enb-rrc.cc.
References m_cellId.
Referenced by ns3::LteEnbNetDevice::UpdateConfig().
void ns3::LteEnbRrc::SetEpcX2SapProvider | ( | EpcX2SapProvider * | s | ) |
Set the X2 SAP this RRC should interact with
s | the X2 SAP Provider to be used by this RRC entity |
Definition at line 1267 of file lte-enb-rrc.cc.
References m_x2SapProvider, and NS_LOG_FUNCTION.
set the callback used to forward data packets up the stack
void | |
cb |
Definition at line 1397 of file lte-enb-rrc.cc.
References m_forwardUpCallback.
void ns3::LteEnbRrc::SetLteEnbCmacSapProvider | ( | LteEnbCmacSapProvider * | s | ) |
set the CMAC SAP this RRC should interact with
s | the CMAC SAP Provider to be used by this RRC |
Definition at line 1281 of file lte-enb-rrc.cc.
References m_cmacSapProvider, and NS_LOG_FUNCTION.
void ns3::LteEnbRrc::SetLteEnbCphySapProvider | ( | LteEnbCphySapProvider * | s | ) |
set the CPHY SAP this RRC should use to interact with the PHY
s | the CPHY SAP Provider |
Definition at line 1329 of file lte-enb-rrc.cc.
References m_cphySapProvider, and NS_LOG_FUNCTION.
void ns3::LteEnbRrc::SetLteEnbRrcSapUser | ( | LteEnbRrcSapUser * | s | ) |
set the RRC SAP this RRC should interact with
s | the RRC SAP User to be used by this RRC |
Definition at line 1295 of file lte-enb-rrc.cc.
References m_rrcSapUser, and NS_LOG_FUNCTION.
void ns3::LteEnbRrc::SetLteMacSapProvider | ( | LteMacSapProvider * | s | ) |
set the MAC SAP provider. The eNB RRC does not use this directly, but it needs to provide it to newly created RLC instances.
s | the MAC SAP provider that will be used by all newly created RLC instances |
Definition at line 1309 of file lte-enb-rrc.cc.
References m_macSapProvider, and NS_LOG_FUNCTION.
void ns3::LteEnbRrc::SetS1SapProvider | ( | EpcEnbS1SapProvider * | s | ) |
Set the S1 SAP Provider
s | the S1 SAP Provider |
Definition at line 1316 of file lte-enb-rrc.cc.
References m_s1SapProvider.
void ns3::LteEnbRrc::SetSrsPeriodicity | ( | uint32_t | p | ) |
p | the SRS periodicity in num TTIs |
Definition at line 1802 of file lte-enb-rrc.cc.
References ns3::g_srsPeriodicity, m_srsCurrentPeriodicityId, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::SRS_ENTRIES.
Referenced by GetTypeId().
|
friend |
Definition at line 406 of file lte-enb-rrc.h.
Referenced by LteEnbRrc().
|
friend |
Definition at line 409 of file lte-enb-rrc.h.
|
friend |
Definition at line 408 of file lte-enb-rrc.h.
|
friend |
Definition at line 407 of file lte-enb-rrc.h.
|
friend |
Definition at line 410 of file lte-enb-rrc.h.
|
private |
Definition at line 768 of file lte-enb-rrc.h.
Referenced by DoRecvHandoverRequest(), and GetTypeId().
|
private |
Definition at line 769 of file lte-enb-rrc.h.
Referenced by GetTypeId(), and ns3::UeManager::RecvRrcConnectionRequest().
|
private |
Definition at line 738 of file lte-enb-rrc.h.
Referenced by AddUe(), ConfigureCell(), DoRecvHandoverRequest(), GetUeManager(), ns3::UeManager::PrepareHandover(), ns3::UeManager::RecvHandoverRequestAck(), ns3::UeManager::RecvRrcConnectionReconfigurationCompleted(), ns3::UeManager::RecvRrcConnectionSetupCompleted(), ns3::UeManager::SendData(), ns3::UeManager::SendUeContextRelease(), SetCellId(), and ns3::UeManager::SwitchToState().
|
private |
Definition at line 724 of file lte-enb-rrc.h.
Referenced by ConfigureCell(), ns3::UeManager::DoInitialize(), DoRecvHandoverRequest(), ns3::UeManager::PrepareHandover(), ns3::UeManager::RecvRrcConnectionReconfigurationCompleted(), ns3::UeManager::ReleaseDataRadioBearer(), RemoveUe(), SendSystemInformation(), SetLteEnbCmacSapProvider(), and ns3::UeManager::SetupDataRadioBearer().
|
private |
Definition at line 723 of file lte-enb-rrc.h.
Referenced by DoDispose(), GetLteEnbCmacSapUser(), and LteEnbRrc().
|
private |
Definition at line 737 of file lte-enb-rrc.h.
Referenced by ConfigureCell(), and SendHandoverRequest().
|
private |
Definition at line 774 of file lte-enb-rrc.h.
Referenced by GetTypeId(), and ns3::UeManager::RecvRrcConnectionSetupCompleted().
|
private |
Definition at line 776 of file lte-enb-rrc.h.
Referenced by GetTypeId(), and ns3::UeManager::RecvRrcConnectionReconfigurationCompleted().
|
private |
Definition at line 735 of file lte-enb-rrc.h.
Referenced by ConfigureCell(), ns3::UeManager::DoInitialize(), ns3::UeManager::RecvRrcConnectionReconfigurationCompleted(), RemoveUe(), SetLteEnbCphySapProvider(), and ns3::UeManager::SetSrsConfigurationIndex().
|
private |
Definition at line 734 of file lte-enb-rrc.h.
Referenced by DoDispose(), GetLteEnbCphySapUser(), and LteEnbRrc().
|
private |
Definition at line 756 of file lte-enb-rrc.h.
Referenced by ns3::UeManager::DoInitialize(), and GetTypeId().
|
private |
Definition at line 741 of file lte-enb-rrc.h.
Referenced by ConfigureCell(), DoRecvHandoverRequest(), and ns3::UeManager::PrepareHandover().
|
private |
Definition at line 739 of file lte-enb-rrc.h.
Referenced by ConfigureCell(), DoRecvHandoverRequest(), and ns3::UeManager::PrepareHandover().
|
private |
Definition at line 758 of file lte-enb-rrc.h.
Referenced by GetRlcType(), and GetTypeId().
Definition at line 718 of file lte-enb-rrc.h.
Referenced by ns3::UeManager::DoReceivePdcpSdu(), and SetForwardUpCallback().
|
private |
Definition at line 780 of file lte-enb-rrc.h.
Referenced by GetTypeId(), and ns3::UeManager::SendUeContextRelease().
|
private |
Definition at line 778 of file lte-enb-rrc.h.
Referenced by GetTypeId(), and ns3::UeManager::RecvHandoverRequestAck().
|
private |
Definition at line 765 of file lte-enb-rrc.h.
Referenced by GetNewSrsConfigurationIndex().
|
private |
Definition at line 743 of file lte-enb-rrc.h.
Referenced by AddUe().
|
private |
Definition at line 729 of file lte-enb-rrc.h.
Referenced by ns3::UeManager::DoInitialize(), SetLteMacSapProvider(), and ns3::UeManager::SetupDataRadioBearer().
|
private |
Definition at line 772 of file lte-enb-rrc.h.
Referenced by AddUe(), and GetTypeId().
|
private |
Definition at line 766 of file lte-enb-rrc.h.
|
private |
Definition at line 727 of file lte-enb-rrc.h.
Referenced by DoDispose(), GetLteEnbRrcSapProvider(), and LteEnbRrc().
|
private |
Definition at line 726 of file lte-enb-rrc.h.
Referenced by ns3::UeManager::DoInitialize(), DoRecvHandoverRequest(), ns3::UeManager::PrepareHandover(), ns3::UeManager::RecvHandoverRequestAck(), ns3::UeManager::RecvRrcConnectionReestablishmentRequest(), ns3::UeManager::RecvRrcConnectionRequest(), ns3::UeManager::ReleaseDataRadioBearer(), ns3::UeManager::ScheduleRrcConnectionReconfiguration(), SendSystemInformation(), and SetLteEnbRrcSapUser().
|
private |
Definition at line 731 of file lte-enb-rrc.h.
Referenced by ns3::UeManager::RecvRrcConnectionReconfigurationCompleted(), ns3::UeManager::RecvRrcConnectionRequest(), RemoveUe(), and SetS1SapProvider().
|
private |
Definition at line 732 of file lte-enb-rrc.h.
Referenced by DoDispose(), GetS1SapUser(), and LteEnbRrc().
|
private |
Definition at line 763 of file lte-enb-rrc.h.
Referenced by GetNewSrsConfigurationIndex(), GetSrsPeriodicity(), and SetSrsPeriodicity().
|
private |
Definition at line 760 of file lte-enb-rrc.h.
Referenced by GetTypeId(), and SendSystemInformation().
Definition at line 745 of file lte-enb-rrc.h.
Referenced by AddUe(), DoDispose(), GetTypeId(), GetUeManager(), and RemoveUe().
|
private |
Definition at line 764 of file lte-enb-rrc.h.
Referenced by GetNewSrsConfigurationIndex(), and RemoveSrsConfigurationIndex().
|
private |
Definition at line 742 of file lte-enb-rrc.h.
Referenced by ConfigureCell(), DoRecvHandoverRequest(), ns3::UeManager::PrepareHandover(), and SendSystemInformation().
|
private |
Definition at line 740 of file lte-enb-rrc.h.
Referenced by ConfigureCell(), DoRecvHandoverRequest(), ns3::UeManager::PrepareHandover(), and SendSystemInformation().
|
private |
Definition at line 721 of file lte-enb-rrc.h.
Referenced by DoRecvHandoverRequest(), ns3::UeManager::PrepareHandover(), ns3::UeManager::RecvHandoverRequestAck(), ns3::UeManager::SendData(), ns3::UeManager::SendUeContextRelease(), and SetEpcX2SapProvider().
|
private |
Definition at line 720 of file lte-enb-rrc.h.
Referenced by DoDispose(), GetEpcX2SapUser(), and LteEnbRrc().
|
private |
Definition at line 754 of file lte-enb-rrc.h.
Referenced by ns3::UeManager::DoDispose(), DoRecvUeData(), ns3::UeManager::ReleaseDataRadioBearer(), and ns3::UeManager::SetupDataRadioBearer().