From 25f3d632f4766c0c1a3ee6cfc52ebf6593f74dc9 Mon Sep 17 00:00:00 2001 From: Rakesh BB Date: Mon, 27 Oct 2025 16:05:31 +0530 Subject: [PATCH] =?UTF-8?q?[NGAP]=20Fix=20incorrect=20AMF=20Set=20ID=20typ?= =?UTF-8?q?e=20(uint8=20=E2=86=92=20uint16)=20causing=20AMF=20lookup=20fai?= =?UTF-8?q?lure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Corrected AMF Set ID data type in ngap_gNB_nnsf_select_amf_by_amf_setid() from uint8_t to uint16_t. - AMF Set ID is a 10-bit field as per 3GPP TS 38.413 ยง9.3.3.12. - The incorrect data type caused truncation for AMF Set IDs >255, leading to lookup failures during RRC reestablishment. - Verified successful reestablishment with large AMF Set IDs after the fix. Reason for fix: AMF lookup using AMF Set ID was failing because the 10-bit AMF Set ID was truncated to 8 bits. Closes #1012 --- openair3/NGAP/ngap_gNB_nnsf.c | 2 +- openair3/NGAP/ngap_gNB_nnsf.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openair3/NGAP/ngap_gNB_nnsf.c b/openair3/NGAP/ngap_gNB_nnsf.c index 5fbc3e4d11..e16e790d38 100644 --- a/openair3/NGAP/ngap_gNB_nnsf.c +++ b/openair3/NGAP/ngap_gNB_nnsf.c @@ -156,7 +156,7 @@ ngap_gNB_amf_data_t *ngap_gNB_nnsf_select_amf_by_plmn_id(ngap_gNB_instance_t *in ngap_gNB_amf_data_t *ngap_gNB_nnsf_select_amf_by_amf_setid(ngap_gNB_instance_t *instance_p, const ngap_rrc_establishment_cause_t cause, const plmn_id_t selected_plmn_identity, - uint8_t amf_setid) + uint16_t amf_setid) { struct ngap_gNB_amf_data_s *amf_data_p = NULL; diff --git a/openair3/NGAP/ngap_gNB_nnsf.h b/openair3/NGAP/ngap_gNB_nnsf.h index 8a87ecfce2..0b7c7059e3 100644 --- a/openair3/NGAP/ngap_gNB_nnsf.h +++ b/openair3/NGAP/ngap_gNB_nnsf.h @@ -43,7 +43,7 @@ ngap_gNB_amf_data_t *ngap_gNB_nnsf_select_amf_by_plmn_id(ngap_gNB_instance_t *in ngap_gNB_amf_data_t *ngap_gNB_nnsf_select_amf_by_amf_setid(ngap_gNB_instance_t *instance_p, const ngap_rrc_establishment_cause_t cause, const plmn_id_t selected_plmn_identity, - uint8_t amf_setid); + uint16_t amf_setid); ngap_gNB_amf_data_t *ngap_gNB_nnsf_select_amf_by_guami(ngap_gNB_instance_t *instance_p, const ngap_rrc_establishment_cause_t cause,