Skip to content
Snippets Groups Projects

Use F1 internally: RRC Message Transfer

Merged Robert Schmidt requested to merge int-f1-if into develop
1 file
+ 0
2
Compare changes
  • Side-by-side
  • Inline
@@ -85,7 +85,8 @@
extern uint16_t sf_ahead;
int macrlc_has_f1 = 0;
extern ngran_node_t node_type;
static ngran_node_t get_node_type(void);
extern int config_check_band_frequencies(int ind, int16_t band, uint64_t downlink_frequency,
int32_t uplink_frequency_offset, uint32_t frame_type);
@@ -758,8 +759,6 @@ void RCconfig_NR_L1(void) {
LOG_I(PHY,"%s() NFAPI PNF mode - RC.nb_nr_CC[0]=%d for init_gNB_afterRU()\n", __FUNCTION__, RC.nb_nr_CC[0]);
LOG_I(PHY,"%s() NFAPI PNF mode - RC.nb_nr_macrlc_inst:%d because used by mac_top_init_gNB()\n", __FUNCTION__, RC.nb_nr_macrlc_inst);
mac_top_init_gNB();
configure_nr_nfapi_pnf(RC.gNB[j]->eth_params_n.remote_addr,
RC.gNB[j]->eth_params_n.remote_portc,
RC.gNB[j]->eth_params_n.my_addr,
@@ -795,6 +794,7 @@ void RCconfig_nr_macrlc() {
paramdef_t GNBParams[] = GNBPARAMS_DESC;
paramlist_def_t GNBParamList = {GNB_CONFIG_STRING_GNB_LIST,NULL,0};
ngran_node_t node_type = get_node_type();
config_get( GNBSParams,sizeof(GNBSParams)/sizeof(paramdef_t),NULL);
int num_gnbs = GNBSParams[GNB_ACTIVE_GNBS_IDX].numelt;
@@ -825,7 +825,7 @@ void RCconfig_nr_macrlc() {
if ( MacRLC_ParamList.numelt > 0) {
RC.nb_nr_macrlc_inst=MacRLC_ParamList.numelt;
mac_top_init_gNB();
mac_top_init_gNB(node_type);
RC.nb_nr_mac_CC = (int*)malloc(RC.nb_nr_macrlc_inst*sizeof(int));
for (j=0;j<RC.nb_nr_macrlc_inst;j++) {
@@ -2259,8 +2259,8 @@ int gNB_app_handle_f1ap_gnb_cu_configuration_update(f1ap_gnb_cu_configuration_up
return(ret);
}
void set_node_type(void) {
int j;
static ngran_node_t get_node_type(void)
{
paramdef_t MacRLC_Params[] = MACRLCPARAMS_DESC;
paramlist_def_t MacRLC_ParamList = {CONFIG_STRING_MACRLC_LIST,NULL,0};
paramdef_t GNBParams[] = GNBPARAMS_DESC;
@@ -2271,24 +2271,19 @@ void set_node_type(void) {
if ( MacRLC_ParamList.numelt > 0) {
RC.nb_nr_macrlc_inst = MacRLC_ParamList.numelt;
for (j=0;j<RC.nb_nr_macrlc_inst;j++) {
for (int j = 0; j < RC.nb_nr_macrlc_inst; j++) {
if (strcmp(*(MacRLC_ParamList.paramarray[j][MACRLC_TRANSPORT_N_PREFERENCE_IDX].strptr), "f1") == 0) {
macrlc_has_f1 = 1;
}
}
}
if (strcmp(*(GNBParamList.paramarray[0][GNB_TRANSPORT_S_PREFERENCE_IDX].strptr), "f1") == 0) {
node_type = ngran_gNB_CU;
} else {
if (macrlc_has_f1 == 0) {
node_type = ngran_gNB;
LOG_I(NR_RRC,"Setting node_type to ngran_gNB\n");
} else {
node_type = ngran_gNB_DU;
LOG_I(NR_RRC,"Setting node_type to ngran_gNB_DU\n");
}
}
if (strcmp(*(GNBParamList.paramarray[0][GNB_TRANSPORT_S_PREFERENCE_IDX].strptr), "f1") == 0)
return ngran_gNB_CU;
else if (macrlc_has_f1 == 0)
return ngran_gNB;
else
return ngran_gNB_DU;
}
void nr_read_config_and_init(void) {
@@ -2297,7 +2292,6 @@ void nr_read_config_and_init(void) {
uint32_t gnb_nb = RC.nb_nr_inst;
RCconfig_NR_L1();
set_node_type();
RCconfig_nr_macrlc();
LOG_I(PHY, "%s() RC.nb_nr_L1_inst:%d\n", __FUNCTION__, RC.nb_nr_L1_inst);
Loading