From 6c33f790954b8047524ec6d03fc1b7c0de0a3dca Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 7 Nov 2018 11:45:24 +0100 Subject: [PATCH] Fix bugs after merge * F1AP has to read MCC/MNC from list * Do not stop if MACRLC list is not present in conf, it might be a CU --- openair2/ENB_APP/enb_config.c | 24 +++++++++++++++++------- openair2/RRC/LTE/rrc_eNB.c | 12 ++++++------ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c index 207776dd6f..89fbac9301 100644 --- a/openair2/ENB_APP/enb_config.c +++ b/openair2/ENB_APP/enb_config.c @@ -272,10 +272,10 @@ void RCconfig_macrlc(int macrlc_has_f1[MAX_MAC_INST]) { printf("sched mode = default %d [%s]\n",global_scheduler_mode,*(MacRLC_ParamList.paramarray[j][MACRLC_SCHED_MODE_IDX].strptr)); } }// j=0..num_inst - } else {// MacRLC_ParamList.numelt > 0 + } /*else {// MacRLC_ParamList.numelt > 0 // ignore it AssertFatal (0, "No " CONFIG_STRING_MACRLC_LIST " configuration found"); - } + }*/ } int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc, int macrlc_has_f1) { @@ -2013,8 +2013,18 @@ int RCconfig_DU_F1(MessageDef *msg_p, uint32_t i) { for (k=0; k configuration.mcc == f1_setup_req->mcc[i] && - rrc->configuration.mnc == f1_setup_req->mnc[i] && + if (rrc->configuration.mcc[0] == f1_setup_req->mcc[i] && + rrc->configuration.mnc[0] == f1_setup_req->mnc[i] && rrc->nr_cellid == f1_setup_req->nr_cellid[i]) { // check that CU rrc instance corresponds to mcc/mnc/cgi (normally cgi should be enough, but just in case) @@ -7504,9 +7504,9 @@ void handle_f1_setup_req(f1ap_setup_req_t *f1_setup_req) { msg_p = itti_alloc_new_message (TASK_CU_F1,F1AP_SETUP_RESP); } F1AP_SETUP_RESP (msg_p).gNB_CU_name = rrc->node_name; - F1AP_SETUP_RESP (msg_p).mcc[cu_cell_ind] = rrc->configuration.mcc; - F1AP_SETUP_RESP (msg_p).mnc[cu_cell_ind] = rrc->configuration.mnc; - F1AP_SETUP_RESP (msg_p).mnc_digit_length[cu_cell_ind] = rrc->configuration.mnc_digit_length; + F1AP_SETUP_RESP (msg_p).mcc[cu_cell_ind] = rrc->configuration.mcc[0]; + F1AP_SETUP_RESP (msg_p).mnc[cu_cell_ind] = rrc->configuration.mnc[0]; + F1AP_SETUP_RESP (msg_p).mnc_digit_length[cu_cell_ind] = rrc->configuration.mnc_digit_length[0]; F1AP_SETUP_RESP (msg_p).nr_cellid[cu_cell_ind] = rrc->nr_cellid; F1AP_SETUP_RESP (msg_p).nrpci[cu_cell_ind] = f1_setup_req->nr_pci[i]; int num_SI= 0; @@ -7530,7 +7530,7 @@ void handle_f1_setup_req(f1ap_setup_req_t *f1_setup_req) { } else {// setup_req mcc/mnc match rrc internal list element LOG_W(RRC,"[Inst %d] No matching MCC/MNC: rrc->mcc/f1_setup_req->mcc %d/%d rrc->mnc/f1_setup_req->mnc %d/%d \n", - j, rrc->configuration.mcc, f1_setup_req->mcc[i],rrc->configuration.mnc, f1_setup_req->mnc[i]); + j, rrc->configuration.mcc[0], f1_setup_req->mcc[i],rrc->configuration.mnc[0], f1_setup_req->mnc[i]); } }// for (int j=0;j