From 2b2285747d4eff24d705882a988ddff50356f09a Mon Sep 17 00:00:00 2001 From: Raymond Knopp <raymond.knopp@eurecom.fr> Date: Sat, 17 Apr 2021 00:09:43 +0200 Subject: [PATCH] OK up to RRCSetupComplete received in RRC and decoded correctly --- openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c | 4 ++-- openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c | 4 ++-- openair2/RRC/NR/rrc_gNB.c | 8 ++++++-- openair2/RRC/NR_UE/rrc_UE.c | 8 +++----- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c index 427986faf0..a624d26b85 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c @@ -566,11 +566,11 @@ static void deliver_sdu_srb(void *_ue, nr_pdcp_entity_t *entity, message_p = itti_alloc_new_message(TASK_PDCP_ENB, 0, NR_RRC_DCCH_DATA_IND); AssertFatal(message_p != NULL, "OUT OF MEMORY"); NR_RRC_DCCH_DATA_IND(message_p).dcch_index = srb_id; - NR_RRC_DCCH_DATA_IND(message_p).sdu_p = (uint8_t*)buf; + NR_RRC_DCCH_DATA_IND(message_p).sdu_p = rrc_buffer_p; NR_RRC_DCCH_DATA_IND(message_p).sdu_size = size; NR_RRC_DCCH_DATA_IND(message_p).rnti = ue->rnti; - itti_send_msg_to_task(TASK_RRC_GNB, INSTANCE_DEFAULT, message_p); + itti_send_msg_to_task(TASK_RRC_GNB, 0, message_p); } } diff --git a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c index 92362dfdcc..a67c3f460c 100644 --- a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c +++ b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c @@ -639,7 +639,7 @@ rb_found: #endif } -static void add_srb(int rnti, struct NR_SRB_ToAddMod *s, NR_RLC_BearerConfig_t *rlc_BearerConfig) +static void add_rlc_srb(int rnti, struct NR_SRB_ToAddMod *s, NR_RLC_BearerConfig_t *rlc_BearerConfig) { nr_rlc_entity_t *nr_rlc_am; nr_rlc_ue_t *ue; @@ -945,7 +945,7 @@ rlc_op_status_t nr_rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt if(rlc_bearer2add_list->list.array[j]->servedRadioBearer != NULL){ if(rlc_bearer2add_list->list.array[j]->servedRadioBearer->present == NR_RLC_BearerConfig__servedRadioBearer_PR_srb_Identity){ if(srb2add_listP->list.array[i]->srb_Identity == rlc_bearer2add_list->list.array[j]->servedRadioBearer->choice.srb_Identity){ - add_srb(rnti, srb2add_listP->list.array[i], rlc_bearer2add_list->list.array[j]); + add_rlc_srb(rnti, srb2add_listP->list.array[i], rlc_bearer2add_list->list.array[j]); } } } diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index 88e3c44abb..f360e966b2 100755 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -503,7 +503,7 @@ rrc_gNB_generate_RRCSetup( NULL, NULL, NULL, - NULL, + ue_context_pP->ue_context.masterCellGroup->rlc_BearerToAddModList, NULL); nr_rrc_pdcp_config_asn1_req(ctxt_pP, ue_context_pP->ue_context.SRB_configList, @@ -516,7 +516,7 @@ rrc_gNB_generate_RRCSetup( NULL, NULL, NULL, - NULL); + ue_context_pP->ue_context.masterCellGroup->rlc_BearerToAddModList); #endif } break; @@ -1952,6 +1952,8 @@ rrc_gNB_decode_dcch( LOG_D(NR_RRC, PROTOCOL_NR_RRC_CTXT_UE_FMT" Decoding UL-DCCH Message\n", PROTOCOL_NR_RRC_CTXT_UE_ARGS(ctxt_pP)); + for (int i=0;i<sdu_sizeP;i++) printf("%02x ",Rx_sdu[i]); + printf("\n"); dec_rval = uper_decode( NULL, &asn_DEF_NR_UL_DCCH_Message, @@ -2639,6 +2641,8 @@ void *rrc_gnb_task(void *args_p) { NR_RRC_DCCH_DATA_IND(msg_p).dcch_index, NR_RRC_DCCH_DATA_IND(msg_p).sdu_p, NR_RRC_DCCH_DATA_IND(msg_p).sdu_size); + result = itti_free(ITTI_MSG_ORIGIN_ID(msg_p), NR_RRC_DCCH_DATA_IND(msg_p).sdu_p); + break; case NGAP_DOWNLINK_NAS: diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c index c9f307d667..3f2902f6ce 100644 --- a/openair2/RRC/NR_UE/rrc_UE.c +++ b/openair2/RRC/NR_UE/rrc_UE.c @@ -1351,6 +1351,9 @@ static void rrc_ue_generate_RRCSetupComplete( LOG_D(NR_RRC, "[FRAME %05d][RRC_UE][MOD %02d][][--- PDCP_DATA_REQ/%d Bytes (RRCSetupComplete to gNB %d MUI %d) --->][PDCP][MOD %02d][RB %02d]\n", ctxt_pP->frame, ctxt_pP->module_id+NB_RN_INST, size, gNB_index, nr_rrc_mui, ctxt_pP->module_id+NB_eNB_INST, DCCH); + + for (int i=0;i<size;i++) printf("%02x ",buffer[i]); + printf("\n"); // ctxt_pP_local.rnti = ctxt_pP->rnti; rrc_data_req_ue( ctxt_pP, @@ -1360,11 +1363,6 @@ static void rrc_ue_generate_RRCSetupComplete( size, buffer, PDCP_TRANSMISSION_MODE_CONTROL); - if (mac->cg && - mac->cg->spCellConfig && - mac->cg->spCellConfig->spCellConfigDedicated && - mac->cg->spCellConfig->spCellConfigDedicated->csi_MeasConfig) - AssertFatal(1==0,"2 > csi_MeasConfig is not null\n"); #ifdef ITTI_SIM MessageDef *message_p; uint8_t *message_buffer; -- 2.26.2