5G-LENA nr-v3.3-81-g75c7590d
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrGnbRrc Class Reference

#include "nr-gnb-rrc.h"

+ Inheritance diagram for ns3::NrGnbRrc:
+ Collaboration diagram for ns3::NrGnbRrc:

Public Types

typedef void(* ConnectionHandoverTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti)
 
typedef void(* HandoverFailureTracedCallback) (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId)
 
typedef void(* HandoverStartTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const uint16_t targetCid)
 
typedef void(* NewUeContextTracedCallback) (const uint16_t cellId, const uint16_t rnti)
 
enum  NrEpsBearerToRlcMapping_t { RLC_SM_ALWAYS = 1 , RLC_UM_ALWAYS = 2 , RLC_AM_ALWAYS = 3 , PER_BASED = 4 }
 
typedef void(* ReceiveReportTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const NrRrcSap::MeasurementReport report)
 
typedef void(* TimerExpiryTracedCallback) (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId, const std::string cause)
 

Public Member Functions

 NrGnbRrc ()
 
 ~NrGnbRrc () override
 
std::vector< uint8_t > AddUeMeasReportConfig (NrRrcSap::ReportConfigEutra config)
 Add a new UE measurement reporting configuration.
 
void AddX2Neighbour (uint16_t cellId)
 
uint8_t CellToComponentCarrierId (uint16_t cellId)
 
uint16_t ComponentCarrierToCellId (uint8_t componentCarrierId)
 
void ConfigureCarriers (std::map< uint8_t, Ptr< BandwidthPartGnb > > ccPhyConf)
 Configure carriers.
 
void ConfigureCell (const std::map< uint8_t, Ptr< BandwidthPartGnb > > &ccPhyConf)
 Configure cell-specific parameters.
 
void ConnectionRejectedTimeout (uint16_t rnti)
 
void ConnectionRequestTimeout (uint16_t rnti)
 
void ConnectionSetupTimeout (uint16_t rnti)
 
void DoSendReleaseDataRadioBearer (uint64_t imsi, uint16_t rnti, uint8_t bearerId)
 This function acts as an interface to trigger Release indication messages towards gNB and EPC.
 
NrEpcX2SapUserGetEpcX2SapUser ()
 
NrAnrSapUserGetNrAnrSapUser ()
 
NrCcmRrcSapUserGetNrCcmRrcSapUser ()
 
NrGnbCmacSapUserGetNrGnbCmacSapUser ()
 
NrGnbCmacSapUserGetNrGnbCmacSapUser (uint8_t pos)
 
NrGnbCphySapUserGetNrGnbCphySapUser ()
 
NrGnbCphySapUserGetNrGnbCphySapUser (uint8_t pos)
 
NrGnbRrcSapProviderGetNrGnbRrcSapProvider ()
 
NrHandoverManagementSapUserGetNrHandoverManagementSapUser ()
 
NrEpcGnbS1SapUserGetS1SapUser ()
 
uint32_t GetSrsPeriodicity () const
 
Ptr< NrUeManagerGetUeManager (uint16_t rnti)
 
void HandoverJoiningTimeout (uint16_t rnti)
 
void HandoverLeavingTimeout (uint16_t rnti)
 
bool HasCellId (uint16_t cellId) const
 
bool HasUeManager (uint16_t rnti) const
 
bool SendData (Ptr< Packet > p)
 
void SendHandoverRequest (uint16_t rnti, uint16_t cellId)
 
void SendRrcConnectionRelease ()
 Send RRC connection release function.
 
void SetCellId (uint16_t m_cellId)
 
void SetCellId (uint16_t m_cellId, uint8_t ccIndex)
 
void SetCsgId (uint32_t csgId, bool csgIndication)
 Associate this RRC entity with a particular CSG information.
 
void SetEpcX2SapProvider (NrEpcX2SapProvider *s)
 
void SetForwardUpCallback (Callback< void, Ptr< Packet > > cb)
 
void SetNrAnrSapProvider (NrAnrSapProvider *s)
 
void SetNrCcmRrcSapProvider (NrCcmRrcSapProvider *s)
 
void SetNrGnbCmacSapProvider (NrGnbCmacSapProvider *s)
 
void SetNrGnbCmacSapProvider (NrGnbCmacSapProvider *s, uint8_t pos)
 
void SetNrGnbCphySapProvider (NrGnbCphySapProvider *s)
 
void SetNrGnbCphySapProvider (NrGnbCphySapProvider *s, uint8_t pos)
 
void SetNrGnbRrcSapUser (NrGnbRrcSapUser *s)
 
void SetNrHandoverManagementSapProvider (NrHandoverManagementSapProvider *s)
 
void SetNrMacSapProvider (NrMacSapProvider *s)
 
void SetS1SapProvider (NrEpcGnbS1SapProvider *s)
 
void SetSrsPeriodicity (uint32_t p)
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 

Protected Member Functions

void DoDispose () override
 

Friends

class GnbRrcMemberNrGnbCmacSapUser
 allow GnbRrcMemberNrGnbCmacSapUser class friend access
 
class MemberNrAnrSapUser< NrGnbRrc >
 allow MemberNrAnrSapUser<NrGnbRrc> class friend access
 
class MemberNrCcmRrcSapUser< NrGnbRrc >
 allow MemberNrCcmRrcSapUser<NrGnbRrc> class friend access
 
class MemberNrGnbRrcSapProvider< NrGnbRrc >
 allow MemberNrGnbRrcSapProvider<NrGnbRrc> class friend access
 
class MemberNrHandoverManagementSapUser< NrGnbRrc >
 allow MemberNrHandoverManagementSapUser<NrGnbRrc> class friend access
 
class NrEpcX2SpecificEpcX2SapUser< NrGnbRrc >
 allow NrMemberEpcGnbS1SapUser<NrGnbRrc> class friend access
 
class NrMemberEpcGnbS1SapUser< NrGnbRrc >
 allow MemberNrGnbRrcSapProvider<NrGnbRrc> class friend access
 
class NrUeManager
 allow NrUeManager class friend access
 

Detailed Description

The NR Radio Resource Control entity at the gNB

Config Paths

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

Attributes

  • UeMap: List of NrUeManager by C-RNTI.
    • Set with class: ns3::ObjectPtrContainerValue
    • Underlying type: ns3::Ptr< ns3::NrUeManager>
    • Flags: read
  • DefaultTransmissionMode: The default UEs' transmission mode (0: SISO)
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 0
    • Flags: construct write read
  • EpsBearerToRlcMapping: Specify which type of RLC will be used for each type of EPS bearer.
    • Set with class: ns3::EnumValue<N3ns38NrGnbRrc25NrEpsBearerToRlcMapping_tE>
    • Underlying type: RlcSmAlways|RlcUmAlways|RlcAmAlways|PacketErrorRateBased
    • Initial value: RlcSmAlways
    • Flags: construct write read
  • SystemInformationPeriodicity: The interval for sending system information (Time value)
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +8e+07ns
    • Flags: construct write read
  • SrsPeriodicity: The SRS periodicity in milliseconds
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 40
    • Flags: construct write read
  • ConnectionRequestTimeoutDuration: After a RA attempt, if no RRC CONNECTION REQUEST is received before this time, the UE context is destroyed. Must account for reception of RAR and transmission of RRC CONNECTION REQUEST over UL GRANT. The value of thistimer should not be greater than T300 timer at UE RRC
    • Set with class: ns3::TimeValue
    • Underlying type: Time +1e+06ns:+1.5e+07ns
    • Initial value: +1.5e+07ns
    • Flags: construct write read
  • ConnectionSetupTimeoutDuration: After accepting connection request, if no RRC CONNECTION SETUP COMPLETE is received before this time, the UE context is destroyed. Must account for the UE's reception of RRC CONNECTION SETUP and transmission of RRC CONNECTION SETUP COMPLETE.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1.5e+08ns
    • Flags: construct write read
  • ConnectionRejectedTimeoutDuration: Time to wait between sending a RRC CONNECTION REJECT and destroying the UE context
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +3e+07ns
    • Flags: construct write read
  • HandoverJoiningTimeoutDuration: After accepting a handover request, if no RRC CONNECTION RECONFIGURATION COMPLETE is received before this time, the UE context is destroyed. Must account for reception of X2 HO REQ ACK by source eNB, transmission of the Handover Command, non-contention-based random access and reception of the RRC CONNECTION RECONFIGURATION COMPLETE message.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +2e+08ns
    • Flags: construct write read
  • HandoverLeavingTimeoutDuration: After issuing a Handover Command, if neither RRC CONNECTION RE-ESTABLISHMENT nor X2 UE Context Release has been previously received, the UE context is destroyed.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +5e+08ns
    • Flags: construct write read
  • QRxLevMin: One of information transmitted within the SIB1 message, indicating the required minimum RSRP level that any UE must receive from this cell before it is allowed to camp to this cell. The default value -70 corresponds to -140 dBm and is the lowest possible value as defined by Section 6.3.4 of 3GPP TS 36.133. This restriction, however, only applies to initial cell selection and EPC-enabled simulation.
    • Set with class: ns3::IntegerValue
    • Underlying type: int8_t -70:-22
    • Initial value: -70
    • Flags: construct read
  • NumberOfComponentCarriers: Number of Component Carriers
    • Set with class: ns3::IntegerValue
    • Underlying type: int16_t 1:5
    • Initial value: 1
    • Flags: construct write read
  • AdmitHandoverRequest: Whether to admit an X2 handover request from another eNB
    • Set with class: ns3::BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • AdmitRrcConnectionRequest: Whether to admit a connection request from a UE
    • Set with class: ns3::BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • RsrpFilterCoefficient: Determines the strength of smoothing effect induced by layer 3 filtering of RSRP in all attached UE; if set to 0, no layer 3 filtering is applicable
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 4
    • Flags: construct write read
  • RsrqFilterCoefficient: Determines the strength of smoothing effect induced by layer 3 filtering of RSRQ in all attached UE; if set to 0, no layer 3 filtering is applicable
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 4
    • Flags: construct write read

TraceSources

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

Definition at line 676 of file nr-gnb-rrc.h.

Member Typedef Documentation

◆ ConnectionHandoverTracedCallback

typedef void(* ns3::NrGnbRrc::ConnectionHandoverTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti)

TracedCallback signature for connection and handover end events.

Parameters
[in]imsi
[in]cellId
[in]rnti

Definition at line 1082 of file nr-gnb-rrc.h.

◆ HandoverFailureTracedCallback

typedef void(* ns3::NrGnbRrc::HandoverFailureTracedCallback) (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId)

TracedCallback signature for handover failure events.

Parameters
[in]imsi
[in]rnti
[in]cellId

Definition at line 1134 of file nr-gnb-rrc.h.

◆ HandoverStartTracedCallback

typedef void(* ns3::NrGnbRrc::HandoverStartTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const uint16_t targetCid)

TracedCallback signature for handover start events.

Parameters
[in]imsi
[in]cellId
[in]rnti
[in]targetCid

Definition at line 1094 of file nr-gnb-rrc.h.

◆ NewUeContextTracedCallback

typedef void(* ns3::NrGnbRrc::NewUeContextTracedCallback) (const uint16_t cellId, const uint16_t rnti)

TracedCallback signature for new Ue Context events.

Parameters
[in]cellId
[in]rnti

Definition at line 1073 of file nr-gnb-rrc.h.

◆ ReceiveReportTracedCallback

typedef void(* ns3::NrGnbRrc::ReceiveReportTracedCallback) (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, const NrRrcSap::MeasurementReport report)

TracedCallback signature for receive measurement report events.

Parameters
[in]imsi
[in]cellId
[in]rnti
[in]report
Todo:
The NrRrcSap::MeasurementReport argument should be changed to a const reference since the argument is large.

Definition at line 1109 of file nr-gnb-rrc.h.

◆ TimerExpiryTracedCallback

typedef void(* ns3::NrGnbRrc::TimerExpiryTracedCallback) (const uint64_t imsi, const uint16_t rnti, const uint16_t cellId, const std::string cause)

TracedCallback signature for timer expiry events

Parameters
[in]imsi
[in]rnti
[in]cellId
[in]cause

Definition at line 1122 of file nr-gnb-rrc.h.

Member Enumeration Documentation

◆ NrEpsBearerToRlcMapping_t

Identifies how EPS Bearer parameters are mapped to different RLC types

Definition at line 1059 of file nr-gnb-rrc.h.

Constructor & Destructor Documentation

◆ NrGnbRrc()

◆ ~NrGnbRrc()

ns3::NrGnbRrc::~NrGnbRrc ( )
override

Destructor

Definition at line 1873 of file nr-gnb-rrc.cc.

Member Function Documentation

◆ AddUeMeasReportConfig()

std::vector< uint8_t > ns3::NrGnbRrc::AddUeMeasReportConfig ( NrRrcSap::ReportConfigEutra  config)

Add a new UE measurement reporting configuration.

Parameters
configthe new reporting configuration
Returns
the measurement IDs (measId) referring to the newly added reporting configuration

Assuming intra-frequency environment, the new measurement reporting configuration will be automatically associated to measurement objects corresponding to serving cell frequencies.

Can only be called before the start of simulation.

Definition at line 2283 of file nr-gnb-rrc.cc.

References ns3::NrRrcSap::ReportConfigEutra::BOTH, ns3::NrRrcSap::ThresholdEutra::choice, ns3::NrRrcSap::ReportConfigEutra::EVENT_A1, ns3::NrRrcSap::ReportConfigEutra::EVENT_A2, ns3::NrRrcSap::ReportConfigEutra::EVENT_A4, ns3::NrRrcSap::ReportConfigEutra::EVENT_A5, ns3::NrRrcSap::ReportConfigEutra::eventId, ns3::NrRrcSap::MeasIdToAddMod::measId, ns3::NrRrcSap::MeasConfig::measIdToAddModList, ns3::NrRrcSap::MeasIdToAddMod::measObjectId, ns3::NrRrcSap::ReportConfigEutra::purpose, ns3::NrRrcSap::ReportConfigToAddMod::reportConfigEutra, ns3::NrRrcSap::ReportConfigToAddMod::reportConfigId, ns3::NrRrcSap::MeasIdToAddMod::reportConfigId, ns3::NrRrcSap::MeasConfig::reportConfigToAddModList, ns3::NrRrcSap::ReportConfigEutra::reportQuantity, ns3::NrRrcSap::ReportConfigEutra::RSRP, ns3::NrRrcSap::ReportConfigEutra::RSRQ, ns3::NrRrcSap::ReportConfigEutra::threshold1, ns3::NrRrcSap::ReportConfigEutra::threshold2, ns3::NrRrcSap::ThresholdEutra::THRESHOLD_RSRP, ns3::NrRrcSap::ThresholdEutra::THRESHOLD_RSRQ, and ns3::NrRrcSap::ReportConfigEutra::triggerQuantity.

◆ AddX2Neighbour()

void ns3::NrGnbRrc::AddX2Neighbour ( uint16_t  cellId)

Add a neighbour with an X2 interface

Parameters
cellIdneighbouring cell id

Definition at line 3235 of file nr-gnb-rrc.cc.

References ns3::NrAnrSapProvider::AddNeighbourRelation().

+ Here is the call graph for this function:

◆ CellToComponentCarrierId()

uint8_t ns3::NrGnbRrc::CellToComponentCarrierId ( uint16_t  cellId)

convert the cell id to component carrier id

Parameters
cellIdCell ID
Returns
corresponding component carrier id

Definition at line 2490 of file nr-gnb-rrc.cc.

◆ ComponentCarrierToCellId()

uint16_t ns3::NrGnbRrc::ComponentCarrierToCellId ( uint8_t  componentCarrierId)

convert the component carrier id to cell id

Parameters
componentCarrierIdcomponent carrier ID
Returns
corresponding cell ID

Definition at line 2504 of file nr-gnb-rrc.cc.

Referenced by ConnectionRejectedTimeout(), ConnectionRequestTimeout(), ConnectionSetupTimeout(), HandoverJoiningTimeout(), and HandoverLeavingTimeout().

+ Here is the caller graph for this function:

◆ ConfigureCarriers()

void ns3::NrGnbRrc::ConfigureCarriers ( std::map< uint8_t, Ptr< BandwidthPartGnb > >  ccPhyConf)

Configure carriers.

Parameters
ccPhyConfthe component carrier configuration

Definition at line 1856 of file nr-gnb-rrc.cc.

References GnbRrcMemberNrGnbCmacSapUser.

◆ ConfigureCell()

void ns3::NrGnbRrc::ConfigureCell ( const std::map< uint8_t, Ptr< BandwidthPartGnb > > &  ccPhyConf)

Configure cell-specific parameters.

Configure cell-specific parameters and propagate them to lower layers. The parameters include bandwidth, EARFCN (E-UTRA Absolute Radio Frequency Channel Number), and cell ID.

In addition to parameter configuration, this function also performs several other tasks:

  • Initializing UE measurement (i.e. measurement object and quantity configuration), which is expected to be further configured through NrGnbRrc::AddUeMeasReportConfig;
  • Enabling MIB (Master Information Block) broadcast transmission
  • Enabling SIB (System Information Block) broadcast transmission

Typically runs when the eNodeB NetDevice is installed, for instance by NrHelper::InstallGnbDevice (i.e. before the simulation starts).

Warning
Raises an error when executed more than once.
Parameters
ccPhyConfthe component carrier configuration

Definition at line 2388 of file nr-gnb-rrc.cc.

References ns3::NrRrcSap::MeasObjectEutra::allowedMeasBandwidth, ns3::NrRrcSap::MeasObjectEutra::carrierFreq, ns3::NrRrcSap::SystemInformationBlockType1::cellAccessRelatedInfo, ns3::NrRrcSap::CellAccessRelatedInfo::cellIdentity, ns3::NrRrcSap::SystemInformationBlockType1::cellSelectionInfo, ns3::NrRrcSap::CellAccessRelatedInfo::csgIdentity, ns3::NrRrcSap::CellAccessRelatedInfo::csgIndication, ns3::NrRrcSap::MasterInformationBlock::dlBandwidth, ns3::NrRrcSap::QuantityConfig::filterCoefficientRSRP, ns3::NrRrcSap::QuantityConfig::filterCoefficientRSRQ, ns3::NrRrcSap::MeasObjectEutra::haveCellForWhichToReportCGI, ns3::NrRrcSap::MeasConfig::haveMeasGapConfig, ns3::NrRrcSap::MeasConfig::haveQuantityConfig, ns3::NrRrcSap::MeasConfig::haveSmeasure, ns3::NrRrcSap::MeasConfig::haveSpeedStatePars, ns3::NrRrcSap::MeasObjectToAddMod::measObjectEutra, ns3::NrRrcSap::MeasObjectToAddMod::measObjectId, ns3::NrRrcSap::MeasConfig::measObjectToAddModList, ns3::NrRrcSap::MeasObjectEutra::neighCellConfig, ns3::NrRrcSap::MeasObjectEutra::offsetFreq, ns3::NrRrcSap::PlmnIdentityInfo::plmnIdentity, ns3::NrRrcSap::CellAccessRelatedInfo::plmnIdentityInfo, ns3::NrRrcSap::MeasObjectEutra::presenceAntennaPort1, ns3::NrRrcSap::CellSelectionInfo::qQualMin, ns3::NrRrcSap::CellSelectionInfo::qRxLevMin, ns3::NrRrcSap::MeasConfig::quantityConfig, and ns3::NrRrcSap::MasterInformationBlock::systemFrameNumber.

◆ ConnectionRejectedTimeout()

void ns3::NrGnbRrc::ConnectionRejectedTimeout ( uint16_t  rnti)

Method triggered a while after sending RRC Connection Rejected. The method will remove the UE context.

Parameters
rntithe T-C-RNTI whose timeout expired

Definition at line 2575 of file nr-gnb-rrc.cc.

References ComponentCarrierToCellId(), and GetUeManager().

Referenced by ns3::NrUeManager::RecvRrcConnectionRequest().

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

◆ ConnectionRequestTimeout()

void ns3::NrGnbRrc::ConnectionRequestTimeout ( uint16_t  rnti)

Method triggered when a UE is expected to request for connection but does not do so in a reasonable time. The method will remove the UE context.

Parameters
rntithe T-C-RNTI whose timeout expired

Definition at line 2547 of file nr-gnb-rrc.cc.

References ComponentCarrierToCellId(), and GetUeManager().

Referenced by ns3::NrUeManager::ConfigureMacPhy().

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

◆ ConnectionSetupTimeout()

void ns3::NrGnbRrc::ConnectionSetupTimeout ( uint16_t  rnti)

Method triggered when a UE is expected to complete a connection setup procedure but does not do so in a reasonable time. The method will remove the UE context.

Parameters
rntithe T-C-RNTI whose timeout expired

Definition at line 2561 of file nr-gnb-rrc.cc.

References ComponentCarrierToCellId(), and GetUeManager().

Referenced by ns3::NrUeManager::RecvRrcConnectionRequest().

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

◆ DoDispose()

void ns3::NrGnbRrc::DoDispose ( )
overrideprotected

Definition at line 1879 of file nr-gnb-rrc.cc.

◆ DoSendReleaseDataRadioBearer()

void ns3::NrGnbRrc::DoSendReleaseDataRadioBearer ( uint64_t  imsi,
uint16_t  rnti,
uint8_t  bearerId 
)

This function acts as an interface to trigger Release indication messages towards gNB and EPC.

Parameters
imsithe IMSI
rntithe RNTI
bearerIdBearer Identity which is to be de-activated

Definition at line 606 of file nr-gnb-rrc.cc.

References ns3::NrEpcGnbS1SapProvider::DoSendReleaseIndication(), GetUeManager(), and HasUeManager().

+ Here is the call graph for this function:

◆ GetEpcX2SapUser()

NrEpcX2SapUser * ns3::NrGnbRrc::GetEpcX2SapUser ( )

Get the X2 SAP offered by this RRC

Returns
s the X2 SAP User interface offered to the X2 entity by this RRC entity

Definition at line 2104 of file nr-gnb-rrc.cc.

◆ GetNrAnrSapUser()

NrAnrSapUser * ns3::NrGnbRrc::GetNrAnrSapUser ( )

Get the ANR SAP offered by this RRC

Returns
s the ANR SAP User interface offered to the ANR instance by this RRC

Definition at line 2182 of file nr-gnb-rrc.cc.

◆ GetNrCcmRrcSapUser()

NrCcmRrcSapUser * ns3::NrGnbRrc::GetNrCcmRrcSapUser ( )

Get the Component Carrier Management SAP offered by this RRC

Returns
s the Component Carrier Management SAP User interface offered to the carrier component selection algorithm by this RRC

Definition at line 2168 of file nr-gnb-rrc.cc.

◆ GetNrGnbCmacSapUser() [1/2]

NrGnbCmacSapUser * ns3::NrGnbRrc::GetNrGnbCmacSapUser ( )

Get the CMAC SAP offered by this RRC

Returns
the CMAC SAP User interface offered to the MAC by this RRC

Definition at line 2133 of file nr-gnb-rrc.cc.

◆ GetNrGnbCmacSapUser() [2/2]

NrGnbCmacSapUser * ns3::NrGnbRrc::GetNrGnbCmacSapUser ( uint8_t  pos)

Get the CMAC SAP offered by this RRC

Parameters
posthe position
Returns
the CMAC SAP User interface offered to the MAC by this RRC

Definition at line 2140 of file nr-gnb-rrc.cc.

◆ GetNrGnbCphySapUser() [1/2]

NrGnbCphySapUser * ns3::NrGnbRrc::GetNrGnbCphySapUser ( )
Returns
s the CPHY SAP User interface offered to the PHY by this RRC

Definition at line 2236 of file nr-gnb-rrc.cc.

◆ GetNrGnbCphySapUser() [2/2]

NrGnbCphySapUser * ns3::NrGnbRrc::GetNrGnbCphySapUser ( uint8_t  pos)

Get the gNB CPhy SAP user

Parameters
posthe position
Returns
s the CPHY SAP User interface offered to the PHY by this RRC

Definition at line 2258 of file nr-gnb-rrc.cc.

◆ GetNrGnbRrcSapProvider()

NrGnbRrcSapProvider * ns3::NrGnbRrc::GetNrGnbRrcSapProvider ( )
Returns
s the RRC SAP Provider interface offered to the MAC by this RRC

Definition at line 2196 of file nr-gnb-rrc.cc.

◆ GetNrHandoverManagementSapUser()

NrHandoverManagementSapUser * ns3::NrGnbRrc::GetNrHandoverManagementSapUser ( )

Get the Handover Management SAP offered by this RRC

Returns
the Handover Management SAP User interface offered to the handover algorithm by this RRC

Definition at line 2154 of file nr-gnb-rrc.cc.

◆ GetS1SapUser()

NrEpcGnbS1SapUser * ns3::NrGnbRrc::GetS1SapUser ( )
Returns
the S1 SAP user

Definition at line 2216 of file nr-gnb-rrc.cc.

◆ GetSrsPeriodicity()

uint32_t ns3::NrGnbRrc::GetSrsPeriodicity ( ) const
Returns
the current SRS periodicity

Definition at line 3302 of file nr-gnb-rrc.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::NrGnbRrc::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 1903 of file nr-gnb-rrc.cc.

References GetSrsPeriodicity(), and SetSrsPeriodicity().

+ Here is the call graph for this function:

◆ GetUeManager()

Ptr< NrUeManager > ns3::NrGnbRrc::GetUeManager ( uint16_t  rnti)
Parameters
rntithe identifier of an UE
Returns
the corresponding NrUeManager instance

Definition at line 2273 of file nr-gnb-rrc.cc.

Referenced by ConnectionRejectedTimeout(), ConnectionRequestTimeout(), ConnectionSetupTimeout(), DoSendReleaseDataRadioBearer(), HandoverJoiningTimeout(), HandoverLeavingTimeout(), SendData(), and SendHandoverRequest().

+ Here is the caller graph for this function:

◆ HandoverJoiningTimeout()

void ns3::NrGnbRrc::HandoverJoiningTimeout ( uint16_t  rnti)

Method triggered when a UE is expected to join the cell for a handover but does not do so in a reasonable time. The method will remove the UE context.

Parameters
rntithe C-RNTI whose timeout expired

When the handover joining timer expires at the target cell, then notify the source cell to release the RRC connection and delete the UE context at eNodeB and SGW/PGW. The HandoverPreparationFailure message is reused to notify the source cell through the X2 interface instead of creating a new message.

Definition at line 2589 of file nr-gnb-rrc.cc.

References ComponentCarrierToCellId(), GetUeManager(), HasUeManager(), and ns3::NrEpcX2SapProvider::SendHandoverPreparationFailure().

Referenced by ns3::NrUeManager::ConfigureMacPhy().

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

◆ HandoverLeavingTimeout()

void ns3::NrGnbRrc::HandoverLeavingTimeout ( uint16_t  rnti)

Method triggered when a UE is expected to leave a cell for a handover but no feedback is received in a reasonable time. The method will remove the UE context.

Parameters
rntithe C-RNTI whose timeout expired

Send HO cancel msg to the target gNB and release the RRC connection with the UE and also delete UE context at the source gNB and bearer info at SGW and PGW.

Definition at line 2617 of file nr-gnb-rrc.cc.

References ComponentCarrierToCellId(), GetUeManager(), HasUeManager(), and ns3::NrEpcX2SapProvider::SendHandoverCancel().

Referenced by ns3::NrUeManager::PrepareHandover(), and ns3::NrUeManager::RecvHandoverRequestAck().

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

◆ HasCellId()

bool ns3::NrGnbRrc::HasCellId ( uint16_t  cellId) const
Parameters
cellIdcell ID
Returns
true if cellId is served by this gNB

Definition at line 2511 of file nr-gnb-rrc.cc.

◆ HasUeManager()

bool ns3::NrGnbRrc::HasUeManager ( uint16_t  rnti) const
Parameters
rntithe identifier of an UE
Returns
true if the corresponding NrUeManager instance exists

Definition at line 2265 of file nr-gnb-rrc.cc.

Referenced by DoSendReleaseDataRadioBearer(), HandoverJoiningTimeout(), and HandoverLeavingTimeout().

+ Here is the caller graph for this function:

◆ SendData()

bool ns3::NrGnbRrc::SendData ( Ptr< Packet >  p)

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 NrEpcGnbApplication

Parameters
pthe packet
Returns
true if successful, false if an error occurred

Definition at line 2524 of file nr-gnb-rrc.cc.

References ns3::NrEpsBearerTag::GetBid(), ns3::NrEpsBearerTag::GetRnti(), and GetUeManager().

+ Here is the call graph for this function:

◆ SendHandoverRequest()

void ns3::NrGnbRrc::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 gNB over the X2 interface

Parameters
rntithe ID of the UE to be handed over
cellIdthe ID of the target gNB

Definition at line 2643 of file nr-gnb-rrc.cc.

References GetUeManager().

+ Here is the call graph for this function:

◆ SendRrcConnectionRelease()

void ns3::NrGnbRrc::SendRrcConnectionRelease ( )

Send RRC connection release function.

This function acts as an interface to trigger the connection release towards gNB, EPC and UE.

◆ SetCellId() [1/2]

void ns3::NrGnbRrc::SetCellId ( uint16_t  m_cellId)

set the cell id of this gNB

Parameters
m_cellId

Definition at line 2474 of file nr-gnb-rrc.cc.

◆ SetCellId() [2/2]

void ns3::NrGnbRrc::SetCellId ( uint16_t  m_cellId,
uint8_t  ccIndex 
)

set the cell id of this gNB

Parameters
m_cellId
ccIndex

Definition at line 2482 of file nr-gnb-rrc.cc.

◆ SetCsgId()

void ns3::NrGnbRrc::SetCsgId ( uint32_t  csgId,
bool  csgIndication 
)

Associate this RRC entity with a particular CSG information.

Parameters
csgIdthe intended Closed Subscriber Group identity
csgIndicationif TRUE, only CSG members are allowed to access the cell

CSG identity is a number identifying a Closed Subscriber Group which the cell belongs to. eNodeB is associated with a single CSG identity.

The same CSG identity can also be associated to several UEs, which is equivalent as enlisting these UEs as the members of this particular CSG. When the CSG indication field is set to TRUE, only UEs which are members of the CSG (i.e. same CSG ID) can gain access to the eNodeB, therefore enforcing closed access mode. Otherwise, the eNodeB operates as a non-CSG cell and implements open access mode.

This restriction only applies to initial cell selection and EPC-enabled simulation.

Definition at line 3246 of file nr-gnb-rrc.cc.

◆ SetEpcX2SapProvider()

void ns3::NrGnbRrc::SetEpcX2SapProvider ( NrEpcX2SapProvider s)

Set the X2 SAP this RRC should interact with

Parameters
sthe X2 SAP Provider to be used by this RRC entity

Definition at line 2097 of file nr-gnb-rrc.cc.

◆ SetForwardUpCallback()

void ns3::NrGnbRrc::SetForwardUpCallback ( Callback< void, Ptr< Packet > >  cb)

set the callback used to forward data packets up the stack

Parameters
cb

Definition at line 2541 of file nr-gnb-rrc.cc.

◆ SetNrAnrSapProvider()

void ns3::NrGnbRrc::SetNrAnrSapProvider ( NrAnrSapProvider s)

set the ANR SAP this RRC should interact with

Parameters
sthe ANR SAP Provider to be used by this RRC

Definition at line 2175 of file nr-gnb-rrc.cc.

◆ SetNrCcmRrcSapProvider()

void ns3::NrGnbRrc::SetNrCcmRrcSapProvider ( NrCcmRrcSapProvider s)

set the Component Carrier Management SAP this RRC should interact with

Parameters
sthe Component Carrier Management SAP Provider to be used by this RRC

Definition at line 2161 of file nr-gnb-rrc.cc.

◆ SetNrGnbCmacSapProvider() [1/2]

void ns3::NrGnbRrc::SetNrGnbCmacSapProvider ( NrGnbCmacSapProvider s)

set the CMAC SAP this RRC should interact with

Parameters
sthe CMAC SAP Provider to be used by this RRC

Definition at line 2111 of file nr-gnb-rrc.cc.

◆ SetNrGnbCmacSapProvider() [2/2]

void ns3::NrGnbRrc::SetNrGnbCmacSapProvider ( NrGnbCmacSapProvider s,
uint8_t  pos 
)

set the CMAC SAP this RRC should interact with

Parameters
sthe CMAC SAP Provider to be used by this RRC
posthe position

Definition at line 2118 of file nr-gnb-rrc.cc.

◆ SetNrGnbCphySapProvider() [1/2]

void ns3::NrGnbRrc::SetNrGnbCphySapProvider ( NrGnbCphySapProvider s)

set the CPHY SAP this RRC should use to interact with the PHY

Parameters
sthe CPHY SAP Provider

Definition at line 2222 of file nr-gnb-rrc.cc.

◆ SetNrGnbCphySapProvider() [2/2]

void ns3::NrGnbRrc::SetNrGnbCphySapProvider ( NrGnbCphySapProvider s,
uint8_t  pos 
)

set the CPHY SAP this RRC should use to interact with the PHY

Parameters
sthe CPHY SAP Provider
posthe position

Definition at line 2243 of file nr-gnb-rrc.cc.

◆ SetNrGnbRrcSapUser()

void ns3::NrGnbRrc::SetNrGnbRrcSapUser ( NrGnbRrcSapUser s)

set the RRC SAP this RRC should interact with

Parameters
sthe RRC SAP User to be used by this RRC

Definition at line 2189 of file nr-gnb-rrc.cc.

◆ SetNrHandoverManagementSapProvider()

void ns3::NrGnbRrc::SetNrHandoverManagementSapProvider ( NrHandoverManagementSapProvider s)

set the Handover Management SAP this RRC should interact with

Parameters
sthe Handover Management SAP Provider to be used by this RRC

Definition at line 2147 of file nr-gnb-rrc.cc.

◆ SetNrMacSapProvider()

void ns3::NrGnbRrc::SetNrMacSapProvider ( NrMacSapProvider s)

set the MAC SAP provider. The gNB RRC does not use this directly, but it needs to provide it to newly created RLC instances.

Parameters
sthe MAC SAP provider that will be used by all newly created RLC instances

Definition at line 2203 of file nr-gnb-rrc.cc.

◆ SetS1SapProvider()

void ns3::NrGnbRrc::SetS1SapProvider ( NrEpcGnbS1SapProvider s)

Set the S1 SAP Provider

Parameters
sthe S1 SAP Provider

Definition at line 2210 of file nr-gnb-rrc.cc.

◆ SetSrsPeriodicity()

void ns3::NrGnbRrc::SetSrsPeriodicity ( uint32_t  p)
Parameters
pthe SRS periodicity in num TTIs

Definition at line 3280 of file nr-gnb-rrc.cc.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ GnbRrcMemberNrGnbCmacSapUser

friend class GnbRrcMemberNrGnbCmacSapUser
friend

allow GnbRrcMemberNrGnbCmacSapUser class friend access

Definition at line 679 of file nr-gnb-rrc.h.

Referenced by NrGnbRrc(), and ConfigureCarriers().

◆ MemberNrAnrSapUser< NrGnbRrc >

friend class MemberNrAnrSapUser< NrGnbRrc >
friend

allow MemberNrAnrSapUser<NrGnbRrc> class friend access

Definition at line 679 of file nr-gnb-rrc.h.

Referenced by NrGnbRrc().

◆ MemberNrCcmRrcSapUser< NrGnbRrc >

friend class MemberNrCcmRrcSapUser< NrGnbRrc >
friend

allow MemberNrCcmRrcSapUser<NrGnbRrc> class friend access

Definition at line 691 of file nr-gnb-rrc.h.

Referenced by NrGnbRrc().

◆ MemberNrGnbRrcSapProvider< NrGnbRrc >

friend class MemberNrGnbRrcSapProvider< NrGnbRrc >
friend

allow MemberNrGnbRrcSapProvider<NrGnbRrc> class friend access

Definition at line 679 of file nr-gnb-rrc.h.

Referenced by NrGnbRrc().

◆ MemberNrHandoverManagementSapUser< NrGnbRrc >

allow MemberNrHandoverManagementSapUser<NrGnbRrc> class friend access

Definition at line 679 of file nr-gnb-rrc.h.

Referenced by NrGnbRrc().

◆ NrEpcX2SpecificEpcX2SapUser< NrGnbRrc >

friend class NrEpcX2SpecificEpcX2SapUser< NrGnbRrc >
friend

allow NrMemberEpcGnbS1SapUser<NrGnbRrc> class friend access

Definition at line 679 of file nr-gnb-rrc.h.

Referenced by NrGnbRrc().

◆ NrMemberEpcGnbS1SapUser< NrGnbRrc >

friend class NrMemberEpcGnbS1SapUser< NrGnbRrc >
friend

allow MemberNrGnbRrcSapProvider<NrGnbRrc> class friend access

Definition at line 679 of file nr-gnb-rrc.h.

Referenced by NrGnbRrc().

◆ NrUeManager

friend class NrUeManager
friend

allow NrUeManager class friend access

Definition at line 691 of file nr-gnb-rrc.h.


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