diff --git a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c index 0a9e260aae2e8d59912300b621c12ff4547c5dd8..1b30602cdfd7422828d894eeec2e7110eb5354b4 100644 --- a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c +++ b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c @@ -346,7 +346,7 @@ int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t instance, // print message in debug mode // create an ITTI message and copy SDU - + /* message_p = itti_alloc_new_message (TASK_CU_F1, RRC_DCCH_DATA_IND); @@ -362,6 +362,18 @@ int CU_handle_UL_RRC_MESSAGE_TRANSFER(instance_t instance, RRC_DCCH_DATA_IND (message_p).eNB_index = instance; // not needed for CU itti_send_msg_to_task(TASK_RRC_ENB, instance, message_p); - + */ + protocol_ctxt_t ctxt; + ctxt.module_id = instance; + ctxt.rnti = f1ap_get_rnti_by_cu_id(&f1ap_cu_ue[instance],cu_ue_f1ap_id); + ctxt.enb_flag = 1; + mem_block_t *mb = get_free_mem_block(ie->value.choice.RRCContainer.size,__func__); + memcpy((void*)mb->data,(void*)ie->value.choice.RRCContainer.buf,ie->value.choice.RRCContainer.size); + pdcp_data_ind (&ctxt, + 1, + 0, + srb_id, + ie->value.choice.RRCContainer.size, + mb); return 0; } diff --git a/openair2/F1AP/f1ap_cu_task.c b/openair2/F1AP/f1ap_cu_task.c index ccdc85fa696610c572bd158023c259687bfc5a21..55a1160c46c2790d36297fe554b14f732bf68e6e 100644 --- a/openair2/F1AP/f1ap_cu_task.c +++ b/openair2/F1AP/f1ap_cu_task.c @@ -111,6 +111,9 @@ void *F1AP_CU_task(void *arg) { LOG_I(CU_F1AP,"Starting F1AP at CU\n"); + // no RLC in CU, initialize mem pool for PDCP + pool_buffer_init(); + itti_mark_task_ready(TASK_CU_F1); cu_task_send_sctp_init_req(0);