Introduce UE RCC to MAC ITTI queue
Reduce race conditions through a itti queue, such that RRC-initiated MAC memory modifications happen at the same time as MAC thread writes. However, it doesn't resolve the problem of exact slot we should apply the new cell configurtion.
This commit is contained in:
committed by
francescomani
parent
f9bff3d6a0
commit
9c0d90a014
@@ -43,7 +43,6 @@ Description Defines the messages supported by the Access Stratum sublayer
|
||||
|
||||
#include "commonDef.h"
|
||||
#include "networkDef.h"
|
||||
|
||||
/****************************************************************************/
|
||||
/********************* G L O B A L C O N S T A N T S *******************/
|
||||
/****************************************************************************/
|
||||
@@ -582,6 +581,20 @@ typedef struct as_message_s {
|
||||
} __attribute__((__packed__)) msg;
|
||||
} as_message_t;
|
||||
|
||||
typedef struct {
|
||||
NR_ReestablishmentCause_t cause;
|
||||
} nr_mac_rrc_config_reset_t;
|
||||
typedef struct {
|
||||
NR_CellGroupConfig_t* cellGroupConfig;
|
||||
NR_UE_NR_Capability_t* UE_NR_Capability;
|
||||
} nr_mac_rrc_config_cg_t;
|
||||
typedef struct {
|
||||
NR_BCCH_BCH_Message_t* bcch;
|
||||
int get_sib;
|
||||
} nr_mac_rrc_config_mib_t;
|
||||
typedef struct {
|
||||
NR_SIB1_t* sib1;
|
||||
} nr_mac_rrc_config_sib1_t;
|
||||
/****************************************************************************/
|
||||
/******************** G L O B A L V A R I A B L E S ********************/
|
||||
/****************************************************************************/
|
||||
|
||||
@@ -82,6 +82,12 @@ MESSAGE_DEF(NAS_DOWNLINK_DATA_IND, MESSAGE_PRIORITY_MED, dl_info_transfer_ind_t,
|
||||
MESSAGE_DEF(RRC_SUBFRAME_PROCESS, MESSAGE_PRIORITY_MED, RrcSubframeProcess, rrc_subframe_process)
|
||||
MESSAGE_DEF(NRRRC_FRAME_PROCESS, MESSAGE_PRIORITY_MED, NRRrcFrameProcess, nr_rrc_frame_process)
|
||||
|
||||
// UE: RRC -> MAC messages
|
||||
MESSAGE_DEF(NR_MAC_RRC_CONFIG_RESET, MESSAGE_PRIORITY_MED, nr_mac_rrc_config_reset_t, nr_mac_rrc_config_reset)
|
||||
MESSAGE_DEF(NR_MAC_RRC_CONFIG_CG, MESSAGE_PRIORITY_MED, nr_mac_rrc_config_cg_t, nr_mac_rrc_config_cg)
|
||||
MESSAGE_DEF(NR_MAC_RRC_CONFIG_MIB, MESSAGE_PRIORITY_MED, nr_mac_rrc_config_mib_t, nr_mac_rrc_config_mib)
|
||||
MESSAGE_DEF(NR_MAC_RRC_CONFIG_SIB1, MESSAGE_PRIORITY_MED, nr_mac_rrc_config_sib1_t, nr_mac_rrc_config_sib1)
|
||||
|
||||
// eNB: RLC -> RRC messages
|
||||
MESSAGE_DEF(RLC_SDU_INDICATION, MESSAGE_PRIORITY_MED, RlcSduIndication, rlc_sdu_indication)
|
||||
MESSAGE_DEF(NAS_PDU_SESSION_REQ, MESSAGE_PRIORITY_MED, nas_pdu_session_req_t, nas_pdu_session_req)
|
||||
|
||||
@@ -96,12 +96,15 @@
|
||||
|
||||
#define NAS_OAI_TUN_NSA(mSGpTR) (mSGpTR)->ittiMsg.nas_oai_tun_nsa
|
||||
#define NAS_PDU_SESSION_REQ(mSGpTR) (mSGpTR)->ittiMsg.nas_pdu_session_req
|
||||
#define NR_MAC_RRC_CONFIG_RESET(mSGpTR) (mSGpTR)->ittiMsg.nr_mac_rrc_config_reset
|
||||
#define NR_MAC_RRC_CONFIG_CG(mSGpTR) (mSGpTR)->ittiMsg.nr_mac_rrc_config_cg
|
||||
#define NR_MAC_RRC_CONFIG_MIB(mSGpTR) (mSGpTR)->ittiMsg.nr_mac_rrc_config_mib
|
||||
#define NR_MAC_RRC_CONFIG_SIB1(mSGpTR) (mSGpTR)->ittiMsg.nr_mac_rrc_config_sib1
|
||||
|
||||
#define NR_RRC_RLC_MAXRTX(mSGpTR) (mSGpTR)->ittiMsg.nr_rlc_maxrtx_indication
|
||||
|
||||
//-------------------------------------------------------------------------------------------//
|
||||
typedef struct RrcStateInd_s {
|
||||
Rrc_State_t state;
|
||||
Rrc_State_t state;
|
||||
Rrc_Sub_State_t sub_state;
|
||||
} RrcStateInd;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user