From e9be8bc233af34d5a5d70bf3d59c212b9db9b0df Mon Sep 17 00:00:00 2001 From: Teodora Date: Fri, 14 Mar 2025 15:42:19 +0100 Subject: [PATCH] Use the enum struct for RRC State defined in FlexRIC --- openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc.c | 10 +++++----- openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc_extern.h | 4 ++-- openair2/RRC/NR/rrc_gNB_NGAP.c | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc.c b/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc.c index 908107c891..271eeda3a4 100644 --- a/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc.c +++ b/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc.c @@ -476,7 +476,7 @@ void read_rc_setup_sm(void* data) DevAssert(ret == 0); } -static seq_ran_param_t fill_rrc_state_change_seq_ran(const rc_sm_rrc_state_e rrc_state) +static seq_ran_param_t fill_rrc_state_change_seq_ran(const rrc_state_e2sm_rc_e rrc_state) { seq_ran_param_t seq_ran_param = {0}; @@ -490,7 +490,7 @@ static seq_ran_param_t fill_rrc_state_change_seq_ran(const rc_sm_rrc_state_e rrc return seq_ran_param; } -static rc_ind_data_t* fill_ue_rrc_state_change(const gNB_RRC_UE_t *rrc_ue_context, const rc_sm_rrc_state_e rrc_state) +static rc_ind_data_t* fill_ue_rrc_state_change(const gNB_RRC_UE_t *rrc_ue_context, const rrc_state_e2sm_rc_e rrc_state) { rc_ind_data_t* rc_ind = calloc(1, sizeof(rc_ind_data_t)); assert(rc_ind != NULL && "Memory exhausted"); @@ -531,13 +531,13 @@ static void send_aper_ric_ind(const uint32_t ric_req_id, rc_ind_data_t* rc_ind_d printf("[E2 AGENT] Event for RIC request ID %d generated\n", ric_req_id); } -static void check_rrc_state(const gNB_RRC_UE_t *rrc_ue_context, const rc_sm_rrc_state_e rrc_state, const uint32_t ric_req_id, const e2sm_rc_ev_trg_frmt_4_t *frmt_4) +static void check_rrc_state(const gNB_RRC_UE_t *rrc_ue_context, const rrc_state_e2sm_rc_e rrc_state, const uint32_t ric_req_id, const e2sm_rc_ev_trg_frmt_4_t *frmt_4) { for (size_t i = 0; i < frmt_4->sz_ue_info_chng; i++) { const rrc_state_lst_t *rrc_elem = &frmt_4->ue_info_chng[i].rrc_state; for (size_t j = 0; j < rrc_elem->sz_rrc_state; j++) { const rrc_state_e2sm_rc_e ev_tr_rrc_state = rrc_elem->state_chng_to[j].state_chngd_to; - if (ev_tr_rrc_state == (rrc_state_e2sm_rc_e)rrc_state || ev_tr_rrc_state == ANY_RRC_STATE_E2SM_RC) { + if (ev_tr_rrc_state == rrc_state || ev_tr_rrc_state == ANY_RRC_STATE_E2SM_RC) { rc_ind_data_t* rc_ind_data = fill_ue_rrc_state_change(rrc_ue_context, rrc_state); send_aper_ric_ind(ric_req_id, rc_ind_data); } @@ -545,7 +545,7 @@ static void check_rrc_state(const gNB_RRC_UE_t *rrc_ue_context, const rc_sm_rrc_ } } -void signal_rrc_state_changed_to(const gNB_RRC_UE_t *rrc_ue_context, const rc_sm_rrc_state_e rrc_state) +void signal_rrc_state_changed_to(const gNB_RRC_UE_t *rrc_ue_context, const rrc_state_e2sm_rc_e rrc_state) { pthread_mutex_lock(&rc_mutex); if (rc_subs_data.rs4_param202.data == NULL) { diff --git a/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc_extern.h b/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc_extern.h index bd7f6e8bda..5f9633453b 100644 --- a/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc_extern.h +++ b/openair2/E2AP/RAN_FUNCTION/O-RAN/ran_func_rc_extern.h @@ -23,8 +23,8 @@ #define RAN_FUNC_SM_RAN_CTRL_EXTERN_AGENT_H #include "openair2/RRC/NR/nr_rrc_defs.h" +#include "openair2/E2AP/flexric/src/sm/rc_sm/ie/ir/rrc_state.h" -typedef enum { RC_SM_RRC_CONNECTED, RC_SM_RRC_INACTIVE, RC_SM_RRC_IDLE, RC_SM_RRC_ANY } rc_sm_rrc_state_e; -void signal_rrc_state_changed_to(const gNB_RRC_UE_t *rrc_ue_context, const rc_sm_rrc_state_e rrc_state); +void signal_rrc_state_changed_to(const gNB_RRC_UE_t *rrc_ue_context, const rrc_state_e2sm_rc_e rrc_state); #endif diff --git a/openair2/RRC/NR/rrc_gNB_NGAP.c b/openair2/RRC/NR/rrc_gNB_NGAP.c index c1715c438c..999c716c8c 100644 --- a/openair2/RRC/NR/rrc_gNB_NGAP.c +++ b/openair2/RRC/NR/rrc_gNB_NGAP.c @@ -551,7 +551,7 @@ int rrc_gNB_process_NGAP_INITIAL_CONTEXT_SETUP_REQ(MessageDef *msg_p, instance_t } #ifdef E2_AGENT - signal_rrc_state_changed_to(UE, RC_SM_RRC_CONNECTED); + signal_rrc_state_changed_to(UE, RRC_CONNECTED_RRC_STATE_E2SM_RC); #endif return 0; @@ -1210,7 +1210,7 @@ int rrc_gNB_process_NGAP_UE_CONTEXT_RELEASE_COMMAND(MessageDef *msg_p, instance_ gNB_RRC_UE_t *UE = &ue_context_p->ue_context; UE->an_release = true; #ifdef E2_AGENT - signal_rrc_state_changed_to(UE, RC_SM_RRC_IDLE); + signal_rrc_state_changed_to(UE, RRC_IDLE_RRC_STATE_E2SM_RC); #endif /* a UE might not be associated to a CU-UP if it never requested a PDU