Commit a1b60957 authored by Raymond Knopp's avatar Raymond Knopp

reworking logic for selection of configuration parameters as a function of node (CU/DU/eNB)

parent 360e2e77
......@@ -416,7 +416,7 @@ void RCconfig_macrlc(int macrlc_has_f1[MAX_MAC_INST]) {
}
int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc, int macrlc_has_f1) {
int num_enbs = 0;
......@@ -637,10 +637,7 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
LOG_I(RRC,"Instance %d: Southbound Transport %s\n",i,*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr));
if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "local_mac") == 0) {
rrc->node_type = ngran_eNB;
}
else if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "f1") == 0) {
if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "f1") == 0) {
paramdef_t SCTPParams[] = SCTPPARAMS_DESC;
char aprefix[MAX_OPTNAME_SIZE*2 + 8];
......@@ -675,9 +672,11 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
}
else { // no F1
// set to ngran_eNB for now, it will get set to ngran_DU if macrlc entity which uses F1 is present
rrc->node_type = ngran_eNB;
else {
// set to ngran_eNB for now, it will get set to ngran_eNB_DU if macrlc entity which uses F1 is present
// Note: we will have to handle the case of ngran_ng_eNB_DU
if (macrlc_has_f1 == 0) rrc->node_type = ngran_eNB;
else rrc->node_type = ngran_eNB_DU;
}
// MCC and MNC
......@@ -1825,7 +1824,7 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused;
}
} // node_type!=ngran_eNB_DU
}
if (rrc->node_type == ngran_eNB_CU || rrc->node_type == ngran_ng_eNB_CU) {
char srb1path[MAX_OPTNAME_SIZE*2 + 8];
......@@ -3010,8 +3009,7 @@ void read_config_and_init()
RC.rrc[enb_id] = malloc(sizeof(eNB_RRC_INST));
AssertFatal(RC.rrc[enb_id], "RRC context for eNB %d not allocated\n", enb_id);
memset((void *)RC.rrc[enb_id], 0, sizeof(eNB_RRC_INST));
RCconfig_RRC(enb_id, RC.rrc[enb_id]);
if (macrlc_has_f1[enb_id]) RC.rrc[enb_id]->node_type = ngran_eNB_DU;
RCconfig_RRC(enb_id, RC.rrc[enb_id],macrlc_has_f1[enb_id]);
}
if (RC.nb_macrlc_inst == 0)
......
......@@ -115,7 +115,7 @@ extern void RCConfig(void);
void enb_config_display(void);
void ru_config_display(void);
int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc);
int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc, int macrlc_has_f1);
int RCconfig_S1(MessageDef *msg_p, uint32_t i);
void read_config_and_init(void);
......
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