Send MAC NR-BCCH-SL-SCH to RRC through ITTI at UE
This commit is contained in:
@@ -56,7 +56,29 @@ nr_mac_rrc_data_ind_ue(
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case NR_BCCH_DL_SCH:
|
case NR_BCCH_DL_SCH:
|
||||||
AssertFatal( nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message(module_id, gNB_index, (uint8_t*)pduP, pdu_len, 0, 0) == 0, "UE decode BCCH-DL-SCH error!\n");
|
if (pdu_len>0) {
|
||||||
|
LOG_T(NR_RRC, "[UE %d] Received SDU for NR-BCCH-DL-SCH on SRB %u from gNB %d\n", module_id, channel & RAB_OFFSET,
|
||||||
|
gNB_index);
|
||||||
|
|
||||||
|
MessageDef *message_p;
|
||||||
|
int msg_sdu_size = BCCH_SDU_SIZE;
|
||||||
|
|
||||||
|
if (pdu_len > msg_sdu_size) {
|
||||||
|
LOG_E(NR_RRC, "SDU larger than NR-BCCH-DL-SCH SDU buffer size (%d, %d)", sdu_size, msg_sdu_size);
|
||||||
|
sdu_size = msg_sdu_size;
|
||||||
|
} else {
|
||||||
|
sdu_size = pdu_len;
|
||||||
|
}
|
||||||
|
|
||||||
|
message_p = itti_alloc_new_message(TASK_MAC_UE, 0, NR_RRC_MAC_BCCH_DATA_IND);
|
||||||
|
memset(NR_RRC_MAC_BCCH_DATA_IND (message_p).sdu, 0, BCCH_SDU_SIZE);
|
||||||
|
memcpy(NR_RRC_MAC_BCCH_DATA_IND (message_p).sdu, pduP, sdu_size);
|
||||||
|
NR_RRC_MAC_BCCH_DATA_IND (message_p).frame = frame; //frameP
|
||||||
|
NR_RRC_MAC_BCCH_DATA_IND (message_p).sub_frame = sub_frame; //sub_frameP
|
||||||
|
NR_RRC_MAC_BCCH_DATA_IND (message_p).sdu_size = sdu_size;
|
||||||
|
NR_RRC_MAC_BCCH_DATA_IND (message_p).gnb_index = gNB_index;
|
||||||
|
itti_send_msg_to_task(TASK_RRC_NRUE, GNB_MODULE_ID_TO_INSTANCE(module_id), message_p);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CCCH:
|
case CCCH:
|
||||||
@@ -83,6 +105,8 @@ nr_mac_rrc_data_ind_ue(
|
|||||||
NR_RRC_MAC_CCCH_DATA_IND (message_p).rnti = rnti; //rntiP
|
NR_RRC_MAC_CCCH_DATA_IND (message_p).rnti = rnti; //rntiP
|
||||||
itti_send_msg_to_task (TASK_RRC_NRUE, GNB_MODULE_ID_TO_INSTANCE( module_id ), message_p);
|
itti_send_msg_to_task (TASK_RRC_NRUE, GNB_MODULE_ID_TO_INSTANCE( module_id ), message_p);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2472,7 +2472,6 @@ void *rrc_nrue_task( void *args_p ) {
|
|||||||
case NR_RRC_MAC_BCCH_DATA_IND:
|
case NR_RRC_MAC_BCCH_DATA_IND:
|
||||||
LOG_D(NR_RRC, "[UE %d] Received %s: frameP %d, gNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
|
LOG_D(NR_RRC, "[UE %d] Received %s: frameP %d, gNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
|
||||||
NR_RRC_MAC_BCCH_DATA_IND (msg_p).frame, NR_RRC_MAC_BCCH_DATA_IND (msg_p).gnb_index);
|
NR_RRC_MAC_BCCH_DATA_IND (msg_p).frame, NR_RRC_MAC_BCCH_DATA_IND (msg_p).gnb_index);
|
||||||
// PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, NOT_A_RNTI, RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0);
|
|
||||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, GNB_FLAG_NO, NOT_A_RNTI, NR_RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0,NR_RRC_MAC_BCCH_DATA_IND (msg_p).gnb_index);
|
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, GNB_FLAG_NO, NOT_A_RNTI, NR_RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0,NR_RRC_MAC_BCCH_DATA_IND (msg_p).gnb_index);
|
||||||
nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message (ctxt.module_id,
|
nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message (ctxt.module_id,
|
||||||
NR_RRC_MAC_BCCH_DATA_IND (msg_p).gnb_index,
|
NR_RRC_MAC_BCCH_DATA_IND (msg_p).gnb_index,
|
||||||
@@ -2480,6 +2479,7 @@ void *rrc_nrue_task( void *args_p ) {
|
|||||||
NR_RRC_MAC_BCCH_DATA_IND (msg_p).sdu_size,
|
NR_RRC_MAC_BCCH_DATA_IND (msg_p).sdu_size,
|
||||||
NR_RRC_MAC_BCCH_DATA_IND (msg_p).rsrq,
|
NR_RRC_MAC_BCCH_DATA_IND (msg_p).rsrq,
|
||||||
NR_RRC_MAC_BCCH_DATA_IND (msg_p).rsrp);
|
NR_RRC_MAC_BCCH_DATA_IND (msg_p).rsrp);
|
||||||
|
break;
|
||||||
|
|
||||||
case NR_RRC_MAC_CCCH_DATA_IND:
|
case NR_RRC_MAC_CCCH_DATA_IND:
|
||||||
LOG_D(NR_RRC, "[UE %d] RNTI %x Received %s: frameP %d, gNB %d\n",
|
LOG_D(NR_RRC, "[UE %d] RNTI %x Received %s: frameP %d, gNB %d\n",
|
||||||
|
|||||||
Reference in New Issue
Block a user