From 5f758074ef3dc5652125d5f5dacba9c1008e9d6c Mon Sep 17 00:00:00 2001 From: Raymond Knopp <raymond.knopp@eurecom.fr> Date: Thu, 20 Sep 2018 02:53:26 +0200 Subject: [PATCH] RRCConnectionSetupComplete received in CU! (needed to allocate mem_pool for pdcp. remaining transactions on SRB1 and then SRB2 need to use PDCP (DCCH). --- openair2/F1AP/f1ap_cu_rrc_message_transfer.c | 16 ++++++++++++++-- openair2/F1AP/f1ap_cu_task.c | 3 +++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/openair2/F1AP/f1ap_cu_rrc_message_transfer.c b/openair2/F1AP/f1ap_cu_rrc_message_transfer.c index 0a9e260aae..1b30602cdf 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 ccdc85fa69..55a1160c46 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); -- GitLab