From c3927fa6b76cf9f896e606bdd360cf660033cbfb Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 27 Sep 2023 15:58:08 +0200 Subject: [PATCH] Fix bug: correct PLMN in check in E1AP Setup Req handler --- openair2/E1AP/e1ap_setup.c | 1 - openair2/RRC/NR/rrc_gNB.c | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/openair2/E1AP/e1ap_setup.c b/openair2/E1AP/e1ap_setup.c index 64b9ebab80..97a3bcb627 100644 --- a/openair2/E1AP/e1ap_setup.c +++ b/openair2/E1AP/e1ap_setup.c @@ -104,7 +104,6 @@ MessageDef *RCconfig_NR_CU_E1(bool separate_CUUP_process) for (int I = 0; I < numPLMNs; I++) { e1Setup->plmns[I].mcc = *PLMNParamList.paramarray[I][GNB_MOBILE_COUNTRY_CODE_IDX].uptr; e1Setup->plmns[I].mnc = *PLMNParamList.paramarray[I][GNB_MOBILE_NETWORK_CODE_IDX].uptr; - e1Setup->plmns[I].mnc = *PLMNParamList.paramarray[I][GNB_MNC_DIGIT_LENGTH].u8ptr; } /* TODO add NSSAIs */ diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index 9683804cb0..bd8548dc04 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -2325,8 +2325,8 @@ int rrc_gNB_process_e1_setup_req(e1ap_setup_req_t *req, instance_t instance) { resp->transac_id = req->transac_id; for (int i=0; i < req->supported_plmns; i++) { - if (rrc->configuration.mcc[i] == req->plmns[i].mcc && - rrc->configuration.mnc[i] == req->plmns[i].mnc) { + if (rrc->configuration.mcc[i] != req->plmns[i].mcc || + rrc->configuration.mnc[i] != req->plmns[i].mnc) { LOG_E(NR_RRC, "PLMNs received from CUUP (mcc:%d, mnc:%d) did not match with PLMNs in RRC (mcc:%d, mnc:%d)\n", req->plmns[i].mcc, req->plmns[i].mnc, rrc->configuration.mcc[i], rrc->configuration.mnc[i]); return -1;