Commit 71bfc510 authored by Teodora's avatar Teodora

squash in previous commit

parent e772bc95
......@@ -28,7 +28,7 @@
#include "openair2/RRC/NR/rrc_gNB_UE_context.h"
static ngran_node_t node_type = 0;
static void get_node_type(void)
static void get_e2_node_type(void)
{
#if defined (NGRAN_GNB_DU) && defined (NGRAN_GNB_CUUP) && defined (NGRAN_GNB_CUCP)
node_type = RC.nrrrc[0]->node_type;
......@@ -47,7 +47,7 @@ typedef struct {
}arr_ue_id_t;
static kpm_ind_msg_format_1_t fill_kpm_ind_msg_frm_1_general(cudu_ue_info_pair_t ue_info, const size_t ue_idx, const kpm_act_def_format_1_t* act_def_fr_1)
static kpm_ind_msg_format_1_t fill_kpm_ind_msg_frm_1(cudu_ue_info_pair_t ue_info, const size_t ue_idx, const kpm_act_def_format_1_t* act_def_fr_1)
{
kpm_ind_msg_format_1_t msg_frm_1 = {0};
......@@ -68,15 +68,11 @@ static kpm_ind_msg_format_1_t fill_kpm_ind_msg_frm_1_general(cudu_ue_info_pair_t
// Measurement Type as requested in Action Definition
assert(act_def_fr_1->meas_info_lst[i].meas_type.type == NAME_MEAS_TYPE && "Only NAME supported");
// use cp_ba_to_str
char meas_info_name_str[act_def_fr_1->meas_info_lst[i].meas_type.name.len + 1];
memcpy(meas_info_name_str, act_def_fr_1->meas_info_lst[i].meas_type.name.buf, act_def_fr_1->meas_info_lst[i].meas_type.name.len);
meas_info_name_str[act_def_fr_1->meas_info_lst[i].meas_type.name.len] = '\0';
char* meas_info_name_str = cp_ba_to_str(act_def_fr_1->meas_info_lst[i].meas_type.name);
msg_frm_1.meas_data_lst[0].meas_record_lst[i] = get_kpm_meas_value(meas_info_name_str, act_def_fr_1->gran_period_ms, ue_info, ue_idx);
}
// Measurement Information - OPTIONAL
msg_frm_1.meas_info_lst_len = act_def_fr_1->meas_info_lst_len;
msg_frm_1.meas_info_lst = calloc(msg_frm_1.meas_info_lst_len, sizeof(meas_info_format_1_lst_t));
......@@ -88,7 +84,7 @@ static kpm_ind_msg_format_1_t fill_kpm_ind_msg_frm_1_general(cudu_ue_info_pair_t
return msg_frm_1;
}
static kpm_ind_msg_format_3_t fill_kpm_meas_data_for_frm_3_general(arr_ue_id_t* arr_ue_id, const kpm_act_def_format_1_t* act_def_fr_1)
static kpm_ind_msg_format_3_t fill_kpm_ind_msg_frm_3(arr_ue_id_t* arr_ue_id, const kpm_act_def_format_1_t* act_def_fr_1)
{
assert(act_def_fr_1 != NULL);
......@@ -106,18 +102,18 @@ static kpm_ind_msg_format_3_t fill_kpm_meas_data_for_frm_3_general(arr_ue_id_t*
// Fill UE related info
cudu_ue_info_pair_t ue_info = {0};
if (arr_ue_id->ue_id[i].type == GNB_UE_ID_E2SM) {
ue_info.rrc_ue_id = *arr_ue_id->ue_id[i].gnb.ran_ue_id;
ue_info.rrc_ue_id = *arr_ue_id->ue_id[i].gnb.ran_ue_id; // rrc_ue_id
ue_info.ue = &arr_ue_id->ue_info_list[i];
} else if (arr_ue_id->ue_id[i].type == GNB_CU_UP_UE_ID_E2SM) {
/* in OAI implementation, CU-UP ue id = CU-CP ue id
=> CU-UP ue id = rrc_ue_id, but it should not be the case */
=> CU-UP ue id = rrc_ue_id, but it should not be the case by the spec */
ue_info.rrc_ue_id = *arr_ue_id->ue_id[i].gnb_cu_up.ran_ue_id; // cucp_ue_id = rrc_ue_id
} else if (arr_ue_id->ue_id[i].type == GNB_DU_UE_ID_E2SM) {
ue_info.rrc_ue_id = *arr_ue_id->ue_id[i].gnb_du.ran_ue_id; // rrc_ue_id
ue_info.ue = &arr_ue_id->ue_info_list[i];
}
msg_frm_3.meas_report_per_ue[i].ind_msg_format_1 = fill_kpm_ind_msg_frm_1_general(ue_info, i, act_def_fr_1);
msg_frm_3.meas_report_per_ue[i].ind_msg_format_1 = fill_kpm_ind_msg_frm_1(ue_info, i, act_def_fr_1);
}
return msg_frm_3;
......@@ -470,7 +466,7 @@ bool read_kpm_sm(void* data)
arr_ue_id_t arr_ue_id = fp_match_cond_type(test_info);
if (arr_ue_id.sz == 0) return false;
kpm->ind.msg.frm_3 = fill_kpm_meas_data_for_frm_3_general(&arr_ue_id, &frm_4->action_def_format_1);
kpm->ind.msg.frm_3 = fill_kpm_ind_msg_frm_3(&arr_ue_id, &frm_4->action_def_format_1);
}
break;
}
......@@ -565,7 +561,7 @@ void read_kpm_setup_sm(void* e2ap)
// Fill supported measurements depending on the E2 node
// [1, 65535]
// 3GPP TS 28.552
get_node_type();
get_e2_node_type();
char** kpm_meas = ran_def_kpm[node_type]();
if (kpm_meas == NULL) return; // e.g. CU-CP node, doesn't support any measurements
size_t sz = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment